Не удается подключиться к рою Docker на digitalocean

У меня есть небольшая проблема с роем докеров. Я создаю 2 экземпляра на DigitalOcean и буду ссылаться на них с публичным IP-адресом 100.0.0.1 и 100.0.0.2 соответственно. Я ssh-ed в первую капельку от имени пользователя root и попытался запустить команду docker swarm init и он вернул ошибку, eth0 привязан к 2 IP-адресам публичного IP-адреса и частного IP-адреса.
Затем я попытался запустить docker swarm init --advertise-addr 10.0.0.1 как это предотвратить и рой работает. Но всякий раз, когда я пытаюсь подключиться к нему из любого места, будь то вторая капля или мой локальный компьютер, с помощью команды соединения она выводит, она возвращает Error response from daemon: Timeout was reached before node was joined. The attempt to join the swarm will continue in the background. Use the "docker info" command to see the current swarm status of your node. Но это никогда не соединяется с роем.
Я попытался запустить то же самое на ec2 без advertise-addr, и он отлично работает, проблема возникает только тогда, когда я использую DigitalOcean. Любая помощь?
Благодарю.

2 ответа

Решение

Похоже, что во время написания приложения DigitalOcean для Docker приложение "одним щелчком" не работает и по какой-то причине не удается подключить узлы роя. Единственный обходной путь, который я нашел, - это запустить обычный образ Ubuntu (или любой другой ОС) и вручную установить Docker. Это казалось, чтобы решить проблему.

Для DigitalOcean docker-18-04 образ:

  1. Откройте порты, которые нужны менеджеру Swarm:
ufw allow 22/tcp
ufw allow 2376/tcp
ufw allow 2377/tcp
ufw allow 7946/tcp
ufw allow 7946/udp
ufw allow 4789/udp
ufw reload
ufw enable

Эти порты должны быть открыты как на управляющих, так и на рабочих узлах! 2. Перезагрузите Docker:systemctl restart docker3. Проверьте имя вашей частной сети в Droplet:ifconfig -a4. Инициируйте рой с помощью docker swarm init --advertise-addr eth1:2377 где eth1 это название частной сети Droplet.

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

Это также сработало для меня. Я попробовал с одним приложением щелчка, который шел с докером 17.12.0, и это не работало. Затем я попробовал свежую установку Ubuntu с докером 18.06.1, и она отлично работала.

Другие вопросы по тегам