#docker #docker-swarm
#докер #docker-swarm
Вопрос:
У меня рой с одним узлом. В моем стеке есть две службы. Я развернулся вот так:
$ docker stack deploy -c /tmp/docker-compose.yml -c /tmp/docker-compose-prod.yml ide-controller"
Creating network ide-controller_default
Creating service ide-controller_app
Creating service ide-controller_traefik
Ошибок нет. Однако, согласно docker ps
, создается только один контейнер. ide-controller_traefik
Контейнер не был создан.
Когда я проверяю docker stack services
, он говорит 0/1
для контейнера traefik:
ID NAME MODE REPLICAS IMAGE PORTS
az4n6brex4zi ide-controller_app replicated 1/1 boldidea.azurecr.io/ide/controller:latest
1qp623hi431e ide-controller_traefik replicated 0/1 traefik:2.3.6 *:80->80/tcp, *:443->443/tcp
В журналах службы Docker ничего нет:
$ docker service logs ide-controller_traefik -n 1000
$
Внутри нет traefik
контейнеров docker ps -a
, поэтому я не могу проверять журналы:
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
922fdff58c25 boldidea.azurecr.io/ide/controller:latest "docker-entrypoint.s…" 3 minutes ago Up 3 minutes 3000/tcp ide-controller_app.1.py8jrtmufgsf3inhqxfgkzpep
Как я могу узнать, что пошло не так или что мешает созданию контейнера?
Ответ №1:
docker service ps <service-name/id>
содержит столбец ошибок, в котором могут отображаться ошибки, с которыми сталкивается libswarm при попытке создания контейнеров, такие как неверные имена изображений. Или, для более подробного просмотра, docker service inspect <service-name/id>
содержит текущую и предыдущую спецификацию службы, а также некоторые узлы корневого уровня, которые будут отслеживать состояние последней операции и ее сообщения.
Комментарии:
1. Спасибо, я попробую использовать
docker service
в следующий раз!