2016-06-08 2 views
0

Обновление: Я пропустил страницу прогория/консула на докер-хаусе, у которого было решение моего вопроса.Как запустить клиент-консул, работающий в контейнере докера?

Вопрос:

Так я бегу консулом в контейнере progrium/консулом. Я запускаю 3 сервера, объединенных вместе, и хотел бы добавить некоторых клиентов консула. Однако я не смог найти руководства, в которых подробно описывается, как начинать клиентов консула, используя контейнер progrium/consul. Вот моя текущая попытка запустить клиент:

Обратите внимание, что $ CLIENT_IP_ADDR - это мой IP-адрес моих клиентов, а $ CONSUL_SERVER0, $ CONSUL_SERVER1 и $ CONSUL_SERVER2 - это IP-адреса моих консульных серверов.

docker run -d -h client0 --name client0 -v /mnt:/data \ 
-p $CLIENT_IP_ADDR:8300:8300 \ 
-p $CLIENT_IP_ADDR:8301:8301 \ 
-p $CLIENT_IP_ADDR:8301:8301/udp \ 
-p $CLIENT_IP_ADDR:8302:8302 \ 
-p $CLIENT_IP_ADDR:8302:8302/udp \ 
-p $CLIENT_IP_ADDR:8400:8400 \ 
-p $CLIENT_IP_ADDR:8500:8500 \ 
-p 172.17.0.1:53:53/udp \ 
progrium/consul -client -advertise $CLIENT_IP_ADDR \ 
-join $CONSUL_SERVER0 -join $CONSUL_SERVER1 -join $CONSUL_SERVER2 

Вот сообщения об ошибках, которые я получаю, когда я просматриваю журналы для моего контейнера:

[email protected]:~$ docker logs client0 
==> WARNING: It is highly recommended to set GOMAXPROCS higher than 1 
==> Starting Consul agent... 
==> Error starting RPC listener: listen tcp $CLIENT_IP_ADDR:8400: bind: cannot assign requested address 

ответ

0

Я думаю, что ответ был просто удалить -client тег из моего контейнера:

docker run -d -h client0 --name client0 -v /mnt:/data \ 
-p $CLIENT_IP_ADDR:8300:8300 \ 
-p $CLIENT_IP_ADDR:8301:8301 \ 
-p $CLIENT_IP_ADDR:8301:8301/udp \ 
-p $CLIENT_IP_ADDR:8302:8302 \ 
-p $CLIENT_IP_ADDR:8302:8302/udp \ 
-p $CLIENT_IP_ADDR:8400:8400 \ 
-p $CLIENT_IP_ADDR:8500:8500 \ 
-p 172.17.0.1:53:53/udp \ 
progrium/consul -advertise $CLIENT_IP_ADDR \ 
-join $CONSUL_SERVER0 -join $CONSUL_SERVER1 -join $CONSUL_SERVER2 

По-видимому, это режим по умолчанию этого контейнера https://hub.docker.com/r/progrium/consul/. Я думаю, что он работает в режиме клиента, потому что мой узел client0 не отображается под консульским сервисом. Там появляются только мои 3 консул-сервера.

Смежные вопросы