У меня есть сервер с несколькими контейнерами lxc. В некоторых контейнерах установлен докер. Обычно действие компоновки докеров в этих контейнерах LXC приводит к именам контейнеров в формате appname_service_1
, например wordpress_app_1
и wordpress_db_1
, когда app
и db
это две службы, которые вызываются в wordpress
составить файл - вы это знаете.
Но сегодня я создал еще один контейнер LXC и установил в него докер. Настройка идентична другим контейнерам, благодаря ansible. Однако имена контейнеров докеров разные, например wordpress_db_1_c9de200f9abd
. Хеш в конце отличается, когда я удаляю контейнер и создаю его заново.
Поскольку это делает контейнеры не такими одноразовыми, как они должны быть, потому что он уничтожает любые маршруты между контейнерами, я хотел бы знать, почему эти хэши вообще добавляются. Все контейнеры LXC имеют один и тот же докер и одну и ту же установленную версию docker-compose. Я хотел бы вообще запретить использование этих хэшей в именах моих докер-контейнеров.
Почему они возникают сейчас, а не раньше?
Исправлено в версии 1.23.2:
Отменено изменение 1.23.0, добавляющее случайные строки к именам контейнеров, созданным с помощью docker-compose up, что приводило к проблемам с адресуемостью. Примечание. Контейнеры, созданные при выполнении docker-compose, будут по-прежнему использовать случайно сгенерированные имена, чтобы избежать конфликтов во время параллельных запусков.
Это новое поведение docker-compose, которое отражает поведение режима swarm. Это вообще не влияет на возможность подключения контейнеров через сеть, поскольку в вашем случае есть псевдонимы DNS для имени службы, которые всегда включены. app
и db
. Нет необходимости указывать полное имя контейнера для подключения к реплике службы с использованием циклического DNS.
Важная заметка
Схема именования по умолчанию для контейнеров, созданных Compose в этой версии, изменилась с
<project>_<service>_<index>
к<project>_<service>_<index>_<slug>
, где<slug>
представляет собой генерируемую случайным образом шестнадцатеричную строку. Перед обновлением обязательно обновите скрипты, использующие старую схему именования.