いくつかのlxcコンテナを備えたサーバーがあります。一部のコンテナには、Dockerがインストールされています。通常、これらのLXCコンテナでのdocker composeアクションは、appname_service_1
という形式のコンテナ名になります。 app
とdb
がwordpress
作成ファイルで呼び出される2つのサービスである場合、wordpress_app_1
とwordpress_db_1
は知っています。
しかし、今日私は別のLXCコンテナーを作成し、それにDockerをインストールしました。 ansibleのおかげで、セットアップは他のコンテナーと同じです。ただし、Dockerコンテナーの名前は異なります。 wordpress_db_1_c9de200f9abd
。最後のハッシュは、コンテナーを削除して再作成するたびに異なります。
これにより、コンテナが使い捨てにならないため、コンテナ間のルートがすべて破壊されるため、このハッシュが追加される理由を知りたいのですが。すべてのLXCコンテナーには、同じdockerと同じdocker-composeバージョンがインストールされています。私のドッカーコンテナー名でこれらのハッシュをまったく防止したいと思います。
なぜそれらは今発生し、以前には発生しなかったのですか?
これはdocker-composeの新しい動作で、スウォームモードの動作を反映しています。常に含まれているサービス名のDNSエイリアスがあり、app
およびdb
であるため、ネットワーク経由でコンテナーを接続する機能にはまったく影響しません。ラウンドロビンDNSを使用してサービスのレプリカに接続するために、完全なコンテナ名は必要ありません。
リリースノート から:
重要な注意事項
このバージョンでComposeによって作成されたコンテナのデフォルトの命名スキームは、
<project>_<service>_<index>
から<project>_<service>_<index>_<slug>
に変更されました。ここで、<slug>
はランダムに生成された16進文字列です。アップグレードする前に、古い命名規則に依存するスクリプトを適宜更新してください。
バージョン 1.23.2 で修正されています:
Docker-compose upによって作成されたコンテナー名にランダムな文字列を追加する1.23.0の変更を元に戻し、アドレス可能性の問題を引き起こしました。注:docker-compose runによって作成されたコンテナーは、ランダムに生成された名前を引き続き使用して、並列実行中の衝突を回避します。