Dockerコンテナの命名:初心者向けの3つのヒント

前書き

Dockerコンテナを作成すると、Universally Unique Identifier(UUID)が割り当てられます。 これらは、名前の競合を避け、人間の介入なしで自動化を促進するために不可欠です。 ホストおよびネットワークに対するコンテナを効果的に識別します。 ただし、人間が読みやすい64文字の長いディスプレイと、より頻繁に表示される12文字の短いフォーム(「+ 285c9f0f9d3d +」のように見える)を区別するには、人間がより多くの労力を費やします。

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

コンテナの操作を学習する際に、ベアリングを簡単に保持できる3つのヒントを次に示します。

[[1---name-the-container-when-you-run-it]] === 1-実行時にコンテナに名前を付けます

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

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

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

docker run --name  -d nginx

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

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

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

[[2---assign-a-hostname-to-the-container]] === 2-コンテナにホスト名を割り当てます

`-hostname +`コマンドに提供される値は、コンテナ内の ` / etc / hostname `および ` / etc / hosts +`内に設定されます。 その結果、コマンドプロンプトに表示されます。 これはhttps://docs.docker.com/engine/userguide/networking/default_network/configure-dns/[container DNS]の構成に役割を果たし、複数コンテナーのセットアップの学習段階で役立ちます。 コンテナの外部からアクセスするのは簡単ではありませんが、コンテナのログファイルに表示され、それらのファイルがホストに依存しないボリュームに書き込まれると、コンテナの識別が容易になります。

  • CLIおよびDockerfile:* + + docker run --hostname = +`または `+ docker run -h +

「-name +」と「-hostname +」はどちらもコンテナの識別に役立ちますが、場合によっては、コンテナにまったく名前を付けないこともあります。 むしろ、自分でやることを忘れずに、コンテナを自動的にクリーンアップすることです。

[[3---automatically-delete-containers-when-they-exit]] === 3-終了時にコンテナを自動的に削除する

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

ただし、注意してください! Dockerボリュームを使用している場合、「+-rm +」はhttps://docs.docker.com/engine/reference/run/#/clean-up---rm [名前で指定されていないボリューム]を削除します。

  • CLIおよびDockerfile:* + + docker run --rm +

これは、画像を作成していて、実行中のコンテナにアタッチする必要がある場合に非常に便利です。 見回したいので、再び使用するつもりのないコンテナでディスクをいっぱいにしたくない。

結論

「+ docker run」、「-name」、「-hostnames」、および「-rm +」のこれら3つのフラグは、それぞれ独自の方法で、Dockerを学習するときに何が簡単にわかるようにすることができます。 https://www.digitalocean.com/community/tutorials/working-with-docker-containers[Dockerコンテナの操作]ガイドで、コンテナと ` docker run +`コマンドの操作の詳細を確認できます。