3
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Dockerfileの書き方

Posted at

以下をファイルに書いて、それをdocker buildすることでイメージファイルができるらしい。

FROM
どのイメージを基にするか。
これを最初に書かなければならない。

LABEL
作成者情報等メタデータの追加。

RUN
build時、イメージに対してコマンドを実行する。次のステップではコマンド実行後のイメージが使われる。

CMD
buildされたイメージが何をするものかを書く。build時には影響しない。
Dockerfileの中に一つだけ書く(沢山書いても最後のCMDが使われる)

EXPOPSE
実行時にコンテナがlistenするポート指定。

ENV
build時+実行時の環境変数設定。

ADD
ディレクトリやURLで指定したファイルをイメージのファイルシステム上にコピーする。
もしもsrcが圧縮されていたら展開してディレクトリとしてコピーされる。
ワイルドカードも使える。

COPY
ディレクトリやファイルをイメージのファイルシステム上にコピーする。ワイルドカードも使える。

ENTRYPOINT
実行可能なコンテナとして設定するために使う。
CMDとの組み合わせやどういう引数を与えるかによって動きが変わるので詳細は公式のドキュメント1参照。

VOLUME
マウントポイントを作る。

USER
ユーザーを設定する。イメージやステップを実行する権限が設定されたユーザーにないときはrootで実行される。

WORKDIR
作業ディレクトリを設定する。

ARG*
build時にユーザーから渡される変数を定義できる。

ONBUILD
後で実行されるトリガーをイメージに追加する。もしこれを使うのであればFROM直後に書く必要あり。よくわからんので使ってみる。

STOPSIGNAL
コンテナを終了するためのシステムコールシグナルを設定する。

HEALTHCHECK
コンテナが正常動作しているかをDockerが確認する方法を記す。

SHELL
デフォルトのシェルを上書きする

  1. https://docs.docker.com/engine/reference/builder/#understand-how-cmd-and-entrypoint-interact

3
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?