Dockerコンテナに名前を付けるための3つのヒント
序章
Dockerコンテナーを作成すると、ユニバーサル一意識別子(UUID)が割り当てられます。 これらは、名前の競合を回避し、人間の介入なしに自動化を促進するために不可欠です。 それらは、ホストとネットワークに対してコンテナを効果的に識別します。 ただし、64文字の人間が読める形式の長い表示か、285c9f0f9d3d
のように見える、より頻繁に表示される12文字の短い形式かを区別するために、人間はより多くの労力を費やします。
人間を支援するために、Dockerは、アンダースコアで結合された2つの単語からランダムに生成された名前を持つコンテナーも提供します。 evil_ptolemy
。 これにより、あるコンテナーを別のコンテナーと区別しやすくなりますが、ランダムな名前では、UUIDよりもコンテナー関数に関する洞察が得られません。
コンテナの操作方法を学ぶときに、ベアリングを簡単に維持できるようにするための3つのヒントを次に示します。
1 —実行時にコンテナに名前を付けます
--name=meaningful_name
をdocker 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コンテナーの操作ガイドをご覧ください。