omuronの備忘録

個人的な備忘録

忘却の彼方の Dockerfile 作成

久しぶりに docker イメージを作ろうとしたけど、忘却の彼方でした。 思い出しついでの作業メモ。

新規 Docker 起動の作業メモ

Dockerfile 作成

適当なディレクトリ作って Dockerfile を作る。

$ mkdir docker; cd docker;
$ vi Dockerfile

よく docker でつかう alpine を設定。

FROM alpine:3.10
SHELL ["/bin/ash", "-eo", "pipefail", "-c"]

ビルド

現在のディレクトリ指定してビルド。

$ docker build .

イメージができてるか確認。

$ docker images | head
REPOSITORY                              TAG                 IMAGE ID            CREATED             SIZE
<none>                                  <none>              3b9e46db4286        10 seconds ago      5.58MB

タグ付け

呼び出しやすいようにタグ付けして、ちゃんとついたか確認。

$ docker tag 3b9e46db4286 test/alpine:3.10
$ docker images | head
REPOSITORY                              TAG                 IMAGE ID            CREATED              SIZE
test/alpine                            3.10                3b9e46db4286        About a minute ago   5.58MB

実行

alpine は bash じゃなくて ash なのを注意して起動。

$ docker run --rm -i -t test/alpine:3.10 /bin/ash

--rm つけておけば、無駄にプロセス残らない。

--rm コンテナ終了時、自動的に削除
-i コンテナの STDIN にアタッチ
-t 疑似ターミナル (pseudo-TTY) を割り当て

イメージ削除

もう必要がないイメージは消してしまう。

$ docker rmi test/alpine:3.10

所感

マウントするための -v や、ポート指定の -p とかも起動オプションでよく使います。 イメージから作ることってあまりないし、docker compose でまとめちゃうからすっかり忘れてしまってた。