web-dev-qa-db-ja.com

作成されたコンテナー名にdocker-composeがハッシュを追加するのを防ぐ方法は?

いくつかのlxcコンテナを備えたサーバーがあります。一部のコンテナには、Dockerがインストールされています。通常、これらのLXCコンテナでのdocker composeアクションは、appname_service_1という形式のコンテナ名になります。 appdbwordpress作成ファイルで呼び出される2つのサービスである場合、wordpress_app_1wordpress_db_1は知っています。

しかし、今日私は別のLXCコンテナーを作成し、それにDockerをインストールしました。 ansibleのおかげで、セットアップは他のコンテナーと同じです。ただし、Dockerコンテナーの名前は異なります。 wordpress_db_1_c9de200f9abd。最後のハッシュは、コンテナーを削除して再作成するたびに異なります。

これにより、コンテナが使い捨てにならないため、コンテナ間のルートがすべて破壊されるため、このハッシュが追加される理由を知りたいのですが。すべてのLXCコンテナーには、同じdockerと同じdocker-composeバージョンがインストールされています。私のドッカーコンテナー名でこれらのハッシュをまったく防止したいと思います。

なぜそれらは今発生し、以前には発生しなかったのですか?

6
simonszu

これはdocker-composeの新しい動作で、スウォームモードの動作を反映しています。常に含まれているサービス名のDNSエイリアスがあり、appおよびdbであるため、ネットワーク経由でコンテナーを接続する機能にはまったく影響しません。ラウンドロビンDNSを使用してサービスのレプリカに接続するために、完全なコンテナ名は必要ありません。

リリースノート から:

重要な注意事項

このバージョンでComposeによって作成されたコンテナのデフォルトの命名スキームは、<project>_<service>_<index>から<project>_<service>_<index>_<slug>に変更されました。ここで、<slug>はランダムに生成された16進文字列です。アップグレードする前に、古い命名規則に依存するスクリプトを適宜更新してください。

6
BMitch

バージョン 1.23.2 で修正されています:

Docker-compose upによって作成されたコンテナー名にランダムな文字列を追加する1.23.0の変更を元に戻し、アドレス可能性の問題を引き起こしました。注:docker-compose runによって作成されたコンテナーは、ランダムに生成された名前を引き続き使用して、並列実行中の衝突を回避します。

6
barney765