Docker не может подключиться локально после настройки роя - PullRequest
0 голосов
/ 30 ноября 2018

Я делаю учебник по докеру в части 3. Поскольку мой компьютер работает под управлением Windows, я использую панель инструментов докера.Перед третьей частью я использую команду docker run -p 8080:80 test, и она может подключиться к 192.168.99.100:8080, это успешно.

Но когда создается рой и развертывается docker-compose.yml, это был успех.

ID                  NAME                MODE                REPLICAS            IMAGE                         PORTS
uskmy4zkflhf        testswarm_web       replicated          5/5                 ***/get-started:test   *:6666->80/tcp

Однако, когда я использовал 192.168.99.100:6666 для подключения, страница моглане отображаться, и с помощью ping я мог видеть, что можно подключить 192.168.99.100.

Когда я удаляю набор инструментов, а затем повторно устанавливаю его, я развертываю его только один раз, что означает, что вся программа устанавливает порттолько один раз и никакие контейнеры не занимают это.В этом случае это тоже не работает.

В чем проблема?

1 Ответ

0 голосов
/ 30 ноября 2018

Механизм публикации портов работает по-другому, когда вы используете автономный режим или режим роя.Если вы используете композитный файл в режиме роя, вы не должны использовать docker-compose up, а docker stack deploy вместо.

Я бы посоветовал делать это шаг за шагом, вместо использования stack deployили составьте подход, сначала научитесь использовать команду docker service create и принимайте ее по одной услуге за раз.

Попробуйте docker service create --name proxy --publish 8080:80 nginx и посмотрите, сможете ли вы достичь NGINX в 192.168.99.100:8080.Как только вы окажетесь там, попробуйте масштабировать его с помощью docker service update --replicas=5 proxy.

Как только вы почувствуете себя комфортно с этим, вы сможете с большей точностью рассказать, что происходит.

Если вы хотитеПодробнее о том, как работает публикация в режиме роя, я предлагаю эту документацию .

...