Docker

如何防止 docker-compose 將雜湊附加到創建的容器名稱?

  • December 4, 2018

我有一個帶有幾個 lxc 容器的伺服器。在一些容器中安裝了一個 docker。通常,這些 LXC 容器中的 docker compose 操作會生成格式為 的容器名稱appname_service_1,例如wordpress_app_1,and wordpress_db_1,whenappdb是在 compose 文件中呼叫的兩個服務wordpress- 你知道的。

但是今天我創建了另一個 LXC 容器並在其中安裝了 docker。由於 ansible,設置與其他容器相同。但是,docker 容器名稱不同,例如wordpress_db_1_c9de200f9abd. 每當我刪除容器並重新創建它時,最後的雜湊值都會有所不同。

由於這使得容器不像應有的那樣一次性,因為它破壞了容器之間的任何路由,我想知道為什麼要附加這些雜湊值。所有 LXC 容器都安裝了相同的 docker 和相同的 docker-compose 版本。我想在我的 docker 容器名稱中完全防止這些散列。

為什麼它們現在發生而以前沒有發生?

這是 docker-compose 的新行為,反映了 swarm 模式的行為。它根本不會影響通過網路連接容器的能力,因為在您的情況下,始終包含服務名稱的 DNS 別名appdb. 不需要完整的容器名稱來使用循環 DNS 連接到服務的副本。

發行說明

重要的提示

此版本中 Compose 創建的容器的預設命名方案已從 更改<project>_<service>_<index><project>_<service>_<index>_<slug>,其中<slug>是隨機生成的十六進製字元串。請確保在升級之前相應地更新依賴舊命名方案的腳本。

引用自:https://serverfault.com/questions/938050