Dockerfile では、run、cmd、entrypoint はすべてコマンドを実行するために使用できます。主な用途は次のとおりです。
Shell および Exec 形式でコマンドを実行するrun、cmd、entrypoint で実行するコマンドは、次の 2 つの形式で指定できます。
どちらの形式も run では使用できますが、命令がより読みやすく理解しやすいため、cmd と entrypoint には exec 形式を使用することをお勧めします。 実行形式の落とし穴dockerfile の内容は次のとおりです。 環境名モリス エントリポイント ["echo", "$name"] この書き方では、シェルではなく echo コマンドのみが実行されるため、$name のみが出力され、変数は置き換えられません。これは、シェルで echo を実行しているのではなく、単に echo を実行しているだけなので、変数は置き換えられないことを意味します。 実行可能なシェルに変更するには、次の形式に書き直す必要があります。 環境名モリス エントリポイント ["/bin/bash", "-c", "echo $name"] コマンドの実行run コマンドは、アプリケーションやソフトウェア パッケージをインストールするときによく使用されます。 run は現在のイメージ上でコマンドを実行し、新しいイメージ レイヤーを作成します。 Dockerfile には複数の実行命令が含まれることがよくあります。次に例を示します。 yum update && yum install -y \ を実行します。 bzr \ cvs \ git \ 気まぐれな\ 転覆 yum update と yum install は 1 つの実行コマンドで実行されるため、毎回最新のパッケージがインストールされます。 yum install を別途実行した場合、yum update によって作成されたイメージ レイヤーが使用されますが、これはかなり前にキャッシュされている可能性があります。 cmd コマンドcmd ディレクティブを使用すると、ユーザーはコンテナによって実行されるデフォルトのコマンドを指定できます。このコマンドは、コンテナが起動され、docker run で他のコマンドが指定されていない場合に実行されます。次に例を示します。 cmd echo "こんにちは世界" コンテナ
ただし、その後に
cmd コマンドが複数ある場合は、最後の cmd コマンドのみが実行されます。 エントリポイントコマンドエントリポイントの exec 形式は、コンテナの起動時に実行されるコマンドとそのパラメータを設定するために使用されます。追加のパラメータは、cmd コマンドまたはコマンドラインパラメータを通じて提供できます。エントリポイント内のパラメータは常に使用されます。これは cmd コマンドとは異なります。次に例を示します。 エントリポイント ["echo", "Hello"]
別の例を見てみましょう。Dockerfile は次のとおりです。 エントリポイント ["echo", "Hello"] cmd ["世界"]
エントリポイント内のパラメータは常に使用されますが、cmd の追加パラメータはコンテナの起動時に動的に置き換えられます。 同様に、エントリポイント コマンドが複数ある場合は、最後のエントリポイント コマンドのみが実行されます。 要約する
docker の run/cmd/entrypoint の違いについての記事はこれで終わりです。docker run/cmd/entrypoint に関するより関連性の高いコンテンツについては、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
>>: Python の MySQL データベース LIKE 演算子の詳細な説明
ffmpeg は非常に強力なオーディオおよびビデオ処理ツールです。公式 Web サイトは http:...
現在のページへのリンク。 -------------------一般的な使用法は次のとおりです。 &...
私の MySQL バージョンは MYSQL V5.7.9 です。古いバージョンを使用してください: ...
成果を達成する実装コード <h1>123WORDPRESS.COM</h1>...
1. HTMLタグの前に次のような文を追加するのが最適です。 <!DOCTYPE HTML P...
123WORDPRESS.COM HTML チュートリアル セクションに戻るには、ここをクリックして...
現在の日付 + 時刻 (日付 + 時刻) を取得する関数: now() mysql> now(...
メモリリークとは何ですか?メモリ リークとは、新しいメモリが作成されたが、解放またはガベージ コレ...
目次CentOS7環境での設定コマンド手順1. DHCP設定ファイルを設定する2. グローバル構成を...
Dockerはますます普及しています。環境を軽量かつ柔軟に分離し、容量を拡張し、運用保守管理を容易に...
目次動的パーティクル効果は次のとおりです。プラグインをインストールする動的パーティクル効果は次のとお...
[LeetCode] 182.重複メールPerson という名前のテーブル内のすべての重複メールを...
序文フロントエンド コードの記述では、「互換性」という言葉から逃れることはできません。過去の PC ...
Docker は本当に素晴らしいです。特に、仮想マシンを使用する場合に比べて、Docker イメージ...
目次1. インストール2. はじめに3. 使用4. 必要に応じてEChartsチャートとコンポーネン...