Docker-Dockerfile命令
Dockerfileには、CMD、ENTRYPOINT、ADD、COPY、VOLUME、WORKDIR、USER、ONBUILD、ENVなど、多くのコマンドを入れることができます.ここでまとめます
CMDは、
ENTRYPOINTコマンドとCMDコマンドは同様で、docker runコマンドで指定したパラメータは、ENTRYPOINTコマンドで指定したコマンドにパラメータとして再渡されます.例えば:
WORKDIR命令は、ミラーから新しいコンテナを作成するときに、コンテナ内部に作業ディレクトリを設定するために使用され、ENTRYPOINTまたはCMDで指定されたプログラムがこのディレクトリの下で実行されます.このコマンドを使用して、Dockerfileの後続の一連のコマンドの作業ディレクトリを設定できます.次のようになります.
ここでは、作業ディレクトリを/opt/webapp/dbに切り替えてbundle installコマンドを実行した後、作業ディレクトリを/opt/webappに設定し、最後にENTRYPOINTコマンドを設定してrackupコマンドを起動します.
EnVコマンドは、ミラー構築中に環境変数を設定するために使用されます.たとえば、次のようになります.
VOLUME命令は、ミラーベースで作成されたコンテナにボリュームを追加するために使用されます.1つのボリュームは、統合ファイルシステムを迂回し、データ共有機能を提供する1つ以上のコンテナ内に存在する特定のディレクトリです.具体的には、次のようにします.ボリュームは、 をコンテナ間で共有および再利用することができる.ボリュームに対する修正は直ちに有効であり、更新ミラーに影響を与えることはない .巻は、 を使用する容器がなくなるまで存在します.
たとえば、
ADDコマンドは、構築環境のファイルとディレクトリをミラーにコピーするために使用されます.例えば、
ONBUILDコマンドは、ミラーにトリガを追加できます.1つのミラーが他のミラーのベースミラーとして使用されると、ミラー内のトリガが実行されます.
CMD
CMDは、
CMD [ "/bin/bash" ]
、CMD [ "/bin/bash", "-l" ]
のようなコンテナの起動時に実行するコマンドを指定しますが、docker runコマンドを使用するとCMDコマンドを上書きできます.ENTRYPOINT
ENTRYPOINTコマンドとCMDコマンドは同様で、docker runコマンドで指定したパラメータは、ENTRYPOINTコマンドで指定したコマンドにパラメータとして再渡されます.例えば:
ENTRYPOINT ["/usr/sbin/nginx"]
WORKDIR
WORKDIR命令は、ミラーから新しいコンテナを作成するときに、コンテナ内部に作業ディレクトリを設定するために使用され、ENTRYPOINTまたはCMDで指定されたプログラムがこのディレクトリの下で実行されます.このコマンドを使用して、Dockerfileの後続の一連のコマンドの作業ディレクトリを設定できます.次のようになります.
WORKDIR /opt/webapp/db
RUN bundle install
WORKDIR /opt/webapp
ENTRYPOINT ["rackup"]
ここでは、作業ディレクトリを/opt/webapp/dbに切り替えてbundle installコマンドを実行した後、作業ディレクトリを/opt/webappに設定し、最後にENTRYPOINTコマンドを設定してrackupコマンドを起動します.
ENV
EnVコマンドは、ミラー構築中に環境変数を設定するために使用されます.たとえば、次のようになります.
ENV RVM_PATH /home/rvm
VOLUME
VOLUME命令は、ミラーベースで作成されたコンテナにボリュームを追加するために使用されます.1つのボリュームは、統合ファイルシステムを迂回し、データ共有機能を提供する1つ以上のコンテナ内に存在する特定のディレクトリです.具体的には、次のようにします.
たとえば、
VOLUME ["/opt/project"]
では、このミラーによって作成された任意のコンテナに基づいて/opt/projectというマウントポイントが作成され、複数のコンテナ間でこれらのコンテンツを共有できます.ADD
ADDコマンドは、構築環境のファイルとディレクトリをミラーにコピーするために使用されます.例えば、
ADD software.lic /opt/application/sofware.lic
では、ここのADD命令は構築ディレクトリの下のソフトウェアeをLicファイルはミラー内の/opt/application/sofwareにコピーする.lic. ONBUILD
ONBUILDコマンドは、ミラーにトリガを追加できます.1つのミラーが他のミラーのベースミラーとして使用されると、ミラー内のトリガが実行されます.