2016-06-08 45 views
0

更新:我忽略了dockerhub上的progrium/consul頁面,該頁面提供了我的問題的解決方案。如何啓動在碼頭集裝箱中運行的領事客戶端?

問:

所以我正在領事在progrium /領事容器。我正在運行3臺服務器並希望添加一些領事客戶端。但是我一直沒能找到任何詳細介紹如何使用progrium/consul容器啓動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位領事服務器出現在那裏。