tands_bの日記

技術メモ。大したことは書きません

【Docker】Dockerfile

Dockerfileとは

 Dockerfileとは、Dockerコンテナの構成内容を記述したテキスト形式のファイルのこと。Dockerfileを用いてDockerコンテナを生成することができる。

Dockerfileに記述できる命令

命令 概要
ADD ビルドコンテキストあるいはリモートURLからイメージへファイルをコピーする。
CMD コンテナ起動後に記述された命令を実行する。ENTRYPOINTが定義されている場合、CMDはENTRYPOINTへの引数として解釈される。また、最後に記述されたCMDのみ実行される。
CMD ["コマンド", "パラメータ"]
COPY ビルドコンテキストからイメージにファイルをコピーする。
COPY src dest
COPY ["src", "dest"]
ENTRYPOINT コンテナ起動時に実行される実行可能ファイルを設定する。
ENV イメージ内の環境変数の設定。
EXPOSE プロセスが指定されたポートで待受を行うことを指定する。
FROM ベースイメージを設定する。この命令を記述する場合、Dockerfileの最初の命令として記述する必要がある。
FROM イメージ:タグ
MAINTAINER イメージのAuthorデータを指定された文字列に設定する。内容は以下コマンドで取得できる。
docker inspect -f {{.Author}} イメージ
ONBUILD 他のイメージからベースイメージとして使用された場合に実行する命令を記述する。
RUN 指定された命令をコンテナ内で実行し、結果をコミットする。
USER USER以降のRUN, CMD, ENTRYPOINT命令で使用されるユーザを設定する。
VOLUME 指定されたファイルもしくはディレクトリがボリュームであることを宣言する。
WORKDIR これ以降のRUN, CMD, ENTRYPOINT, ADD, COPY命令で使用される作業ディレクトリを設定する。