Назад | Перейти на главную страницу

Почему не запускается docker на выходе команды swarm show?

Я успешно настроил кластер Docker Swarm, состоящий из одного мастера и двух узлов.

Все работает как положено, только одно отклоняется от документации. Согласно документам (искать "Запустить контейнер на Рое") Я должен видеть вывод команды, когда я запускаю что-то в Swarm, но со мной это не происходит:

$ docker run hello-world   # <<< no output

$ docker ps -a
CONTAINER ID        IMAGE                COMMAND                CREATED             STATUS                     PORTS               NAMES
663f36f72ee1        hello-world:latest   "/hello"               4 seconds ago       Exited (0) 3 seconds ago                       node-1/serene_pare
...

$ docker logs 663f36f72ee1 # <<< however everything looks good
Hello from Docker.
This message shows that your installation appears to be working correctly.
...

Что я делаю не так?

ОБНОВИТЬ: С помощью run -i решает проблему. Тем не менее, мне любопытно, почему -i необходим только для Swarm, и почему в документации этого не сказано.

Документация неверна и Эта проблема исправляет документацию.

Причина, по которой необходим флаг -i --interactive, заключается в том, что флаг -i позволяет нам устанавливать интерактивное соединение, захватывая стандарт в (STDIN) контейнера, поскольку контейнер находится на другом хосте.