Почему имя контейнера Docker имеет случайное число в конце после создания службы Docker - PullRequest
0 голосов
/ 26 марта 2019

после того, как я создаю сервис Docker, используя код ниже

docker service create --name db --network era-networkkk -p 3306:3306 --mount type=bind,source=$(pwd)/data/mysql,destination=/var/lib/mysql schema

и когда я проверяю услуги, используя

docker services ls

показывает имя как db

но когда я использую команду

docker ps

имя контейнера содержит несколько случайно сгенерированных чисел после имени

Как я могу решить эту проблему?

Ответы [ 2 ]

0 голосов
/ 26 марта 2019

Я думаю, что причина этого в том, что когда вы создаете сервис, вы не обязательно заботитесь о том, как называются контейнеры. Обычно вы создаете сервис, когда докер находится в режиме роя. В режиме роя вы настраиваете кластер узлов, я думаю, у вас есть только один узел для целей разработки. Однако если у вас более одного кластера, служба создаст столько контейнеров, сколько вы укажете с параметром --replicas. Любые запросы к вашему приложению будут затем распределяться между контейнерами в кластере через службу.

Посмотрите документацию по докеру https://docs.docker.com/engine/swarm/how-swarm-mode-works/services/, это может помочь уточнить, как все это работает.

0 голосов
/ 26 марта 2019

Я думаю, что поведение абсолютно предназначено.Что если ваш рой настроен на запуск нескольких контейнеров с одним изображением на одном узле?Эти контейнеры не могут иметь одинаковые имена.Таким образом, в именах контейнеров должен быть суффикс, чтобы не было конфликта имен.Почему вы хотите повлиять на имена контейнера?Обычно при работе с кластерами вы работаете на уровне обслуживания, а не на уровне контейнера.

...