Dockerfile は、Docker イメージを構築するプロセスを定義するために使用されるテキスト ファイルです。これには、Docker エンジンに基本イメージ上に新しいイメージを構築するように指示するために使用される一連の命令とパラメーターが含まれています。以下は、Dockerfile の構文の詳細な説明です。
- コメント:
#
で始まる行動コメント。指示または指示に関するその他の情報を提供するために使用されます。 - Base Image :
FROM
ディレクティブを使用してベースイメージを指定します。例:ベースイメージとしてFROM ubuntu:latest
指定します 。ubuntu:latest
- メンテナ情報:
MAINTAINER
コマンドを使用してメンテナの情報を指定します。例:MAINTAINER John Doe <[email protected]>
。 - 環境変数:
ENV
ディレクティブを使用して環境変数を設定します。たとえば、という環境変数ENV key=value
を定義しkey
、その値を に設定しますvalue
。 - Working Directory :
WORKDIR
ディレクティブを使用して作業ディレクトリを設定します。例:WORKDIR /app
作業ディレクトリを に設定することを意味します/app
。 - ファイルのコピー:
COPY
ディレクティブを使用して、ファイルまたはディレクトリをビルド コンテキストからイメージにコピーします。例:COPY src /app/src
ローカルsrc
ディレクトリをミラー内のディレクトリに コピーします/app/src
。 - ファイルの追加:
ADD
ディレクティブを使用して、ファイルまたはディレクトリをビルド コンテキストからイメージにコピーします。に 似ていますCOPY
が、ADD
ファイルとリモート URL の自動解凍もサポートしています。例:ファイルADD archive.tar.gz /app
を解凍しarchive.tar.gz
、イメージ内のディレクトリにコピーします/app
。 - コマンドの実行:
RUN
コマンドを使用して、イメージ内のコマンドを実行します。例:RUN apt-get update && apt-get install -y package
ミラーでコマンドを実行してapt-get
パッケージを更新し、指定されたパッケージをインストールすること を意味しますpackage
。 - ポートを公開する:
EXPOSE
ディレクティブを使用して、コンテナー ランタイムがリッスンするポートを宣言します。例:EXPOSE 80
コンテナがポート 80 でリッスンすることを示します。 - コンテナ起動コマンド:
CMD
またはENTRYPOINT
ディレクティブを使用して、コンテナ起動時に実行するコマンドを設定します。CMD
デフォルトのコマンドとパラメータを提供し、ENTRYPOINT
実行するコマンドを指定するために使用できます。例:CMD ["python", "app.py"]
コンテナーの開始時にコマンドが実行されることを示しますpython app.py
。 - ミラーの構築:
docker build
コマンドを使用して、Dockerfile に従ってミラーを構築します。たとえば、docker build -t image_name:tag .
現在のディレクトリにある Dockerfile を、 という名前image_name
とタグが付けられた イメージにビルドしますtag
。
上記は Dockerfile の基本的な構文です。Docker イメージのビルド プロセスをカスタマイズおよび構成するために使用できる豊富な手順とオプションが提供されます。ニーズに応じて、さまざまな手順を使用してカスタム Docker イメージを作成できます。