以前の記事では、RUN、FROM、MAINTAINER、EXPOSE などの DockerFile 関連のコマンドについて説明しました。今日は、その他の DockerFile コマンドについて説明します。 01 CMCMD コマンドは、コンテナの起動時に実行する必要があるコマンドを指定するために使用されます。 RUN 命令に似ていますが、違いは次のとおりです。 RUN 命令は、イメージをビルドするときに実行する必要があるコマンドです。 CMD 命令は、コンテナの起動時に実行される命令を指定します。例: docker run -it コンテナ名 /bin/ls このコマンドはコンテナを起動し、/bin/lsを実行します。 これは、手動で docker を入力して ls コマンドを実行するのと同じです。代わりに、DockerFile で次のコマンドを使用できます。 コマンド [ "/bin/ls" ] DockerFile で指定できる CMD コマンドは 1 つだけであることに注意してください。複数のコマンドを指定した場合でも、最後のコマンドのみが実行されます。 DockerFile で CMD 命令を使用すると、CMD 命令は docker run コマンドの直後に実行されます。次に例を示します。 docker run -it コンテナ名 このコンテナを起動すると、/bin/ls コマンドが直接実行されます。 02 エントリーポイントこのコマンドは上記の CMD コマンドと非常によく似ていますが、docker run コマンドの後に指定されたパラメーターは、ENTRYPOINT 命令のコマンドにパラメーターとして再度渡される点が異なります。 03 ワークディレクトリWORKDIR 命令は、イメージから新しいコンテナを作成するときに、コンテナ内の作業ディレクトリを設定するために使用されます。 ENTRYPOINT または CMD コマンドはこのディレクトリで実行されます。 このコマンドは、一連の後続のコマンドの作業ディレクトリを設定するために、DockerFile の先頭に表示されることがよくあります。特定のコマンドを指定した後、このコマンドを使用して現在のディレクトリを切り替えることもできます。したがって、通常、WORKDIR コマンドを使用する最も一般的な方法は次のとおりです。 ワークディレクトリ /data1/xxxxx 実行xxxxx 実行xxxxxx ワークディレクトリ /data2/xxxxx 実行xxxxx 実行xxxxx ディレクトリを常時切り替えるためのツールです。 DockerFile でディレクトリを指定したが、Docker の実行時にそれを使用したくない場合はどうすればよいでしょうか? 答えはdocker run -w /var/dir1を使うことです -w パラメータを使用した後、/var/dir1 を使用して DockerFile 内のパスが上書きされます。 04 環境ENV 命令は、DockerFile を生成するときに環境変数を指定するために使用されます。例えば: 環境変数 PYRHON_HOME /usr/bin/python 上記の WORKDIR と組み合わせることもできます。例: 環境変数 PYRHON_HOME /usr/bin/python ワークディレクトリ $PYTHON_HOME ENV コマンドで生成されたコンテナ内で env コマンドを使用して、現在のコンテナの環境変数を表示することもできます。また、設定した PYRHON_HOME の値を確認することもできます。 この方法に加えて、docker -e コマンドを使用して環境変数を渡すこともできますが、この方法で渡される環境変数は実行時にのみ有効です。 05 ユーザーUSER 命令は、イメージを実行するユーザーを指定するために使用されます。例えば: ユーザー mysql もちろん、 ユーザー ユーザー USER ユーザー:グループ ユーザーID ユーザー uid:gid 注意すべき点が 2 つあります。 1. docker run で -u コマンドを使用して、DockerFile の USER オプションを上書きできます。 2. USERオプションが指定されていない場合、デフォルトのユーザーはrootになります。 06巻VOLUME 命令は、イメージから作成されたコンテナにボリュームを追加するために使用されます。ボリュームは、1 つ以上のコンテナー内の特定のディレクトリに存在できます。このディレクトリは、たとえば、データの共有やデータの永続化の機能を提供できます。 1. ボリュームはコンテナ間で共有および再利用できる 2. コンテナは他のコンテナとボリュームを共有する必要がない 3. ボリュームの変更はすぐに有効になります 4. ボリュームはコンテナが必要としなくなるまで存在する この機能を使用すると、画像に送信するのではなく、画像にコードやデータを追加することができます。これにより、画像のサイズが大幅に縮小されます。これらのコンテンツを複数のコンテナ間で共有できるため、VOLUME はコンテナの正確性をテストするためによく使用されます。 ボリューム [ "/volume" ] このコマンドは、このイメージを使用して作成されたコンテナに対して /volume という名前のマウント ポイントを作成します。 配列を使用して複数のマウント ポイントを作成することもできます。 ボリューム [ "/data1", "/data2" ] 07 追加ADD コマンドは、ビルド環境内のファイルとディレクトリをイメージにコピーするために使用されます。 ADD コマンドの使用時には、次のようにファイルのソースとターゲットの場所が必要です。 aaa.txt /data1/aaa.txt を追加します このコマンドは、イメージビルドディレクトリ内の aaa.txt ファイルをイメージ内の /data1/aaa.txt ディレクトリにコピーします。ソース ファイルは、ビルド環境のコンテキスト内のファイルであるだけでなく、URL になることもできます。 ADD ファイル プロセス中に、宛先アドレスが / で終わる場合、DockerFile はソースの場所をディレクトリと見なし、それ以外の場合はソース ファイルをファイルと見なします。 もう一つの注意点: ソース ファイルが tar.gz などのローカル アーカイブ ファイルの場合、Docker はそれをターゲット ファイルに解凍します。 08 コピーCOPY コマンドは ADD と非常によく似ています。ADD との違いは、COPY は URL 方式をサポートしておらず、ファイルをアクティブに解凍しないことです。COPY 命令の宛先は、コンテナー内の絶対パスである必要があります。 注記: 1. このコマンドによって作成されたファイルまたはディレクトリのUIDとGIDは0に設定されます。 2. 宛先の場所が存在しない場合は、Docker は必要なすべてのディレクトリ構造を自動的に作成します。 mkdir -p と同じです。 今日はこれですべてです。少し退屈に感じるかもしれません。これらのコマンドを説明するために、後で例を追加します。 以上が、一般的なDockerfileコマンドの使い方の紹介の詳しい内容です。Dockerfileコマンドの使い方について、さらに詳しく知りたい方は、123WORDPRESS.COMの関連記事もぜひご覧ください! 以下もご興味があるかもしれません:
|
<<: MySQLインストール後のデフォルトデータベースの役割の詳細な説明
コンテナにネットワークインターフェースを追加する1 デフォルトのネットワークモードでコンテナを実行す...
目次環境条件エラーが発生しました回避策1. mysql dockerにログインする2. ルートパスワ...
目次1. ランダムなブール値( true / false )を取得する2. 指定された日付が営業日で...
この記事では、ビデオタグを使用してビデオ再生を実装するVueの具体的なコードを参考までに共有します。...
目次1. 事前準備1.1 Node.jsをインストールする1.2 webpackをインストールする1...
Nginx (エンジン x) は、高性能な HTTP およびリバース プロキシ サーバーであり、IM...
ローカル データベースがサーバー データベースに接続されているときに発生する 1045 の問題を解決...
まずはレンダリングを見てみましょう: XML/HTML コードコンテンツをクリップボードにコピー&l...
目次問題の説明原理分析問題分析拡大する総括する問題の説明ユーザーはプライマリ データベースに対して変...
序文一部のプロジェクトの初期段階では、シンプルさとスピードのために、開発と展開は単一のマシンで行われ...
目次タグ付きユニオン型を使用した支払い方法の構築タグ付きユニオン型を使用した Redux アクション...
Nginxは正規表現を使用して、ワイルドカードドメイン名をディレクトリに自動的に一致させます。 Ng...
遅いログクエリ機能スロー ログ クエリの主な機能は、設定された時間しきい値を超える SQL ステート...
1. 切断理由WebSocket が切断される理由は多数あります。WebSocket が切断されたと...
新しい CSS 機能を使用する場合、その互換性は常に考慮されます。おそらく、その互換性、どのブラウザ...