2016-10-29 5 views
1

Я пытаюсь настроить на AWS пример докеры-рой.swarm manager не подключается к демонам докеров-докеров на AWS

У меня есть три машины: два узла и менеджер, созданный с помощью докер-машины:

docker-machine create --driver amazonec2 --amazonec2-region eu-central-1 swarm-manager 
docker-machine create --driver amazonec2 --amazonec2-region eu-central-1 docker1 
docker-machine create --driver amazonec2 --amazonec2-region eu-central-1 docker2 

Я создал docker1 и 2, как это:

настройки/и т.д./по умолчанию/докер :

DOCKER_OPTS="-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock" 

перезагружен докер, а затем:

sudo docker run -d swarm join --addr=172.31.5.27:2375 token://<token>

и проверил:

u[email protected]:~$ sudo docker ps 
CONTAINER ID  IMAGE    COMMAND     CREATED    STATUS    PORTS    NAMES 
a4ae06e827a6  swarm    "/swarm join --addr=1" 28 minutes ago  Up 28 minutes  2375/tcp   admiring_blackwell 

на роя машины:

sudo docker run -dP swarm manage token:// 

и я добавил свои узлы:

[email protected]:~$ sudo docker ps 
CONTAINER ID  IMAGE    COMMAND     CREATED    STATUS    PORTS      NAMES 
67f55fda2eba  swarm    "/swarm manage token:" 16 minutes ago  Up 16 minutes  0.0.0.0:32768->2375/tcp trusting_dijkstra 

[email protected]:~$ docker -H tcp://127.0.0.1:32768 info 
Containers: 0 
Running: 0 
Paused: 0 
Stopped: 0 
Images: 0 
Server Version: swarm/1.2.5 
Role: primary 
Strategy: spread 
Filters: health, port, containerslots, dependency, affinity, constraint 
Nodes: 2 
(unknown): 172.31.11.143:2375 
    └ ID: 
    └ Status: Pending 
    └ Containers: 0 
    └ Reserved CPUs: 0/0 
    └ Reserved Memory: 0 B/0 B 
    └ Labels: 
    └ Error: Cannot connect to the Docker daemon. Is the docker daemon running on this host? 
    └ UpdatedAt: 2016-10-29T16:34:28Z 
    └ ServerVersion: 
(unknown): 172.31.5.27:2375 
    └ ID: 
    └ Status: Pending 
    └ Containers: 0 
    └ Reserved CPUs: 0/0 
    └ Reserved Memory: 0 B/0 B 
    └ Labels: 
    └ Error: Cannot connect to the Docker daemon. Is the docker daemon running on this host? 
    └ UpdatedAt: 2016-10-29T16:34:38Z 
    └ ServerVersion: 
Plugins: 
Volume: 
Network: 
Swarm: 
NodeID: 
Is Manager: false 
Node Address: 
Security Options: 
Kernel Version: 4.2.0-18-generic 
Operating System: linux 
Architecture: amd64 
CPUs: 0 
Total Memory: 0 B 
Name: 67f55fda2eba 
Docker Root Dir: 
Debug Mode (client): false 
Debug Mode (server): false 
WARNING: No kernel memory limit support 

Я не могу undersrtand почему IMY узлы все еще в ожидании. Частные IP-адреса, которые я использовал, кажутся правильными, плюс два узла - это список. Любой намек?

ответ

0

Это может быть связано с this issue. Я понимаю, что есть проблема с докерными машинами, созданными с помощью Docker 1.12.1. Ошибка, что я получаю

Error checking TLS connection: "mybox" is not a swarm master. The --swarm flag is intended for use with swarm masters 

после запуска

eval $(docker-machine env --swarm mybox) 

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

0

Вам необходимо зайти в диспетчер рой, используя docker-machine ssh aws-swarm-mgr, и сначала инициировать docker-swarm init на главном узле.

затем войти в систему с ведомыми узлами с помощью докер-машина SSH docker1

Пожалуйста, обратите внимание на маркер, чтобы присоединиться к мастеру здесь, пример вывода

docker swarm join --token SWMTKN-1-65v85za1nnkg4u09e1jbgtk86b3pl8ntawj0ha6m6upzbyho5z-4fasp7wt5f13ts16arypbrpa1 192.168.99.100:2377 

и бежать от узла docker1 и docker2 узла

docker swarm join --token xxxLOREMIPSUMTOKENx ip:2377 

Чтобы подтвердить это, зарегистрируйтесь на главный узел

docker-machine ssh aws-swarm-mgr 

Изнутри узел мастер AWS

aws-swarm-mgr> docker node ls 

Это должно сделать это.