Dockerコンテナに名前を付けるための3つのヒント

提供:Dev Guides
移動先:案内検索

序章

Dockerコンテナーを作成すると、ユニバーサル一意識別子(UUID)が割り当てられます。 これらは、名前の競合を回避し、人間の介入なしに自動化を促進するために不可欠です。 それらは、ホストとネットワークに対してコンテナを効果的に識別します。 ただし、64文字の人間が読める形式の長い表示か、285c9f0f9d3dのように見える、より頻繁に表示される12文字の短い形式かを区別するために、人間はより多くの労力を費やします。

人間を支援するために、Dockerは、アンダースコアで結合された2つの単語からランダムに生成された名前を持つコンテナーも提供します。 evil_ptolemy。 これにより、あるコンテナーを別のコンテナーと区別しやすくなりますが、ランダムな名前では、UUIDよりもコンテナー関数に関する洞察が得られません。

コンテナの操作方法を学ぶときに、ベアリングを簡単に維持できるようにするための3つのヒントを次に示します。

1 —実行時にコンテナに名前を付けます

--name=meaningful_namedocker runコマンドに追加することにより、evil_ptolomyは、インタラクティブセッションやdocker psなどのコマンドの出力で認識しやすくなります。 ただし、制限があります。 コンテナー名は一意である必要があるため、意図的な命名を使用して、1つのコンテナーを超えてサービスをスケーリングすることはできません。

コマンドラインまたはDockerfile: docker run --name=meaningful_name

たとえば、nginxベースイメージに基づいてコンテナを実行し、次のように開始した場合:

docker run --name nginx -d nginx

名前は、実行中のコンテナーのリストに表示されます。

docker ps
OutputCONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                NAMES
08f333ef7216        nginx               "nginx -g 'daemon off"   15 seconds ago      Up 14 seconds       80/tcp, 443/tcp      nginx

名前はdocker psの出力に表示され、コンテナーの管理に使用できますが、コンテナーに添付したり、ログファイルに添付したりすると、コンテナーのコマンドプロンプトには表示されません。 これを実現するには、ホスト名も割り当てる必要があります。

2 —コンテナにホスト名を割り当てます

--hostnameコマンドに指定された値は、コンテナ内の/etc/hostnameおよび/etc/hosts内に設定されます。 その結果、コマンドプロンプトに表示されます。 これは、コンテナーDNS の構成で役割を果たし、マルチコンテナーセットアップの学習段階で役立ちます。 コンテナの外部からアクセスするのは簡単ではありませんが、コンテナのログファイルに表示され、それらのファイルがホストから独立したボリュームに書き込まれると、コンテナの識別が容易になります。

CLIとDockerfile: docker run --hostname=value OR docker run -h value

--name--hostnameはどちらもコンテナーの識別に役立ちますが、コンテナーに名前を付けることではない場合もあります。 むしろ、自分で行うことを忘れずに、コンテナ自体をクリーンアップすることです。

3 —コンテナが終了すると自動的に削除されます

デバッグするときは、停止したコンテナが終了した後も存続することが役立ちます。 ログファイルなどのデータを保持し、コンテナの最終状態を調査できます。 ただし、コンテナを実行するときに、完了したときにコンテナを使用したくないことがわかっている場合があります。 この場合、--rmフラグを使用して、終了時に自動的に削除できます。 これにより、物事をきれいに保つことが容易になります。

ただし、注意してください。 Dockerボリュームを使用している場合、--rmは、名前で指定されていないボリュームをすべて削除します。

CLIとDockerfile: docker run --rm

これは、イメージを作成していて、実行中のコンテナーにアタッチする必要がある場合に非常に便利です。 あなたは周りを見回したいと思っています、そしてあなたはあなたが再び使うつもりのないコンテナであなたのディスクをいっぱいにしたくありません。

結論

docker run--name--hostname、および--rmのこれらの3つのフラグは、それぞれ独自の方法で、Dockerを学習するときに何が何であるかを簡単に知ることができます。 。 コンテナーとdocker runコマンドの操作について詳しくは、Dockerコンテナーの操作ガイドをご覧ください。