Docker-Dockerfile命令

1894 ワード

Dockerfileには、CMD、ENTRYPOINT、ADD、COPY、VOLUME、WORKDIR、USER、ONBUILD、ENVなど、多くのコマンドを入れることができます.ここでまとめます

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つのミラーが他のミラーのベースミラーとして使用されると、ミラー内のトリガが実行されます.