Реплики службы в Docker Swarm остаются 0/1 навсегда
Да, я уже пробовал этот вопрос и не дублирует вопрос
Я учусь использовать Docker Swarm и я использую Docker-Play
У меня есть менеджер (узел1) и 2 работника (узел2 и узел3)
$ docker node ls
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS
j4maivz26wactwn9ghgosg219 node2 Ready Active
p6cpvetwrsqu6oiqzfq2bxxsv node3 Ready Active
r7y5zktfore76l9z3n0keu7ae * node1 Ready Active Leader
поэтому я создал сервис
docker service create --network ingress --name mysql -e MYSQL_ROOT_PASSWORD=demodocker -e MYSQL_DATABASE=wordpressdatabase -e M
YSQL_USER=root -e MYSQL_PASSWORD=demodocker mysql
и реплики остаются 0/1 навсегда
$ docker service ls
ID NAME MODE REPLICAS IMAGE PORTS
jub3wh8yz2cd mysql replicated 0/1 mysql:latest
поэтому я стараюсь:
docker service create --network ingress --name mysql2 -e MYSQL_ROOT_PASSWORD=demodocker -e MYSQL_DATABASE=wordpressdatabase -e M
YSQL_USER=root -e MYSQL_PASSWORD=demodocker mysql:latest top
и я пытаюсь:
docker service create --network ingress --replicas 1 --name mysql2 -e MYSQL_ROOT_PASSWORD=demodocker -e MYSQL_DATABASE=wordpressdatabase -e M
YSQL_USER=root -e MYSQL_PASSWORD=demodocker mysql:latest top
Я пробую самую простую строку кода:
docker service create --network ingress --name mysql -e MYSQL_ROOT_PASSWORD=demodoceker mysql
но все работает, я посмотрел этот вопрос тоже, но я не нахожу ни один параметр неправильно
Дополнительная информация:
$ docker service ps mysql
ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR
PORTS
j523hr6mnfqk mysql mysql:latest Running New 13 minutes ago
,
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
wordpress latest ca96afcfa242 2 weeks ago 406MB
mysql latest e799c7f9ae9c 3 weeks ago 407MB
Спасибо;)
1 ответ
Не прикрепляйте услуги напрямую к ingress
сеть. Это, кажется, вызывает проблему, так как я не испытываю то же самое при удалении --network ingress
, Я могу воспроизвести вышеизложенное (с --network ingress
set), и я не вижу никаких журналов (службы или демона), которые могли бы дать подсказку о том, почему он выходит из строя, так что, думаю, это не так уж и хорошо. Может быть, поднять проблему с Docker для лучшей регистрации / ошибки здесь?
ingress
сеть используется при публикации портов для службы, поэтому позвольте Docker напрямую управлять вложениями.
Редактировать: Кстати, это все равно не получится после того, как вы уберете это по причинам mysql (я не верю в создание таблицы? Но сама служба пытается запустить).