Контейнер Docker не создан после развертывания стека. Где я могу найти журналы ошибок?

#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 в следующий раз!