以前の記事では、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インストール後のデフォルトデータベースの役割の詳細な説明
Docker インストール (Alibaba Cloud Server) Docker 公式 Ce...
参考までに、win7システム上のVMware仮想マシンにlinux7.2インターネットアクセス構成を...
結果:実装コード: html <link href='https://fonts.go...
まず依存関係をインストールする必要があります npm i lib-flexible-computer...
次のような疑問が湧くかもしれません。MySQLをローカル (自分のコンピュータ) にインストールした...
MySQL は強力なオープンソース データベースです。データベース駆動型アプリケーションの数が増える...
ビューポートとはモバイル ブラウザは、Web ページを仮想の「ウィンドウ」(ビューポート) に配置し...
1. 仮想化 vcenter に入り、ブラウザでログインし (クライアントは設定する場所を見つけませ...
この記事はRHEL7.5でのMySQL 8.0.11のインストールチュートリアルを記録しています。具...
いくつかの概念行ボックス: インライン ボックスを囲むボックス。1 つ以上の行ボックスが積み重ねられ...
場合によっては、フィールドから別の新しいフィールドにデータの列全体をコピーする必要があります。これは...
この記事では、テキストクロックを実装するためのキャンバスの具体的なコードを例として紹介します。具体的...
序文この記事では、主にライブラリ内のすべてのテーブルを返すMysql8.0ドライバgetTables...
この記事では、MySQL マスター/スレーブ データベースの構築方法について説明します。ご参考までに...
1. デフォルトでインストールされているMySQLの文字セットを確認するmysql> '...