序章

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

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

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

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

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

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

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

  1. docker run --name nginx -d nginx

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

  1. docker ps
Output
CONTAINER 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 また docker run -h value

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

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

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

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

CLIとDockerfile:
docker run --rm

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

結論

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