簡體   English   中英

單個VM設置中的Docker Consul多個容器

[英]Docker Consul Multiple Containers in single VM setup

我曾經用來旋轉領事容器的Docker命令-

  1. 為容器1創建靜態IP docker network create --subnet=172.18.0.0/16 C1

  2. 運行一個領事容器到該IP:
    docker run -d --net C1 --ip 172.18.0.10 -p 48301:8301/tcp -p 48400:8400/tcp -p 48600:8600/tcp -p 48300:8300/tcp -p 48302:8302/tcp -p 48302:8302/udp -p 48500:8500/tcp -p 48600:8600/udp -p 48301:8301/udp --name=test1 consul agent -client=172.18.0.10 -bind=172.18.0.10 -server -bootstrap -ui

  3. 同樣為容器2創建的靜態IP- docker network create --subnet=172.19.0.0/16 C2

  4. docker run -d --net C2 --ip 172.19.0.10 -p 58301:8301/tcp -p 58400:8400/tcp -p 58600:8600/tcp -p 58300:8300/tcp -p 58302:8302/tcp -p 58302:8302/udp -p 58500:8500/tcp -p 58600:8600/udp -p 58301:8301/udp --name=test2 consul agent -client=172.19.0.10 -bind=172.19.0.10 -server -bootstrap -ui -join 192.168.99.100:48301

IP 172.19.0.10:8301上的領事容器test2無法與172.18.0.10:8301閑話。 我收到“未確認”消息。

我還嘗試了--link鏈接兩個容器。 但這沒有用。

誰能讓我知道我做的是否正確嗎?

在docker守護程序上創建用戶定義的網絡時,您需要了解這些網絡的某些屬性。

網絡中的每個容器可以立即與網絡中的其他容器通信。 但是,網絡本身會將容器與外部網絡隔離 Docker文檔

這有效地說明了您正在經歷的事情。 容器無法彼此通信,因為它們彼此隔離 (位於不同的網絡中)。

--link ,用戶定義的網絡不支持它。

在用戶定義的網橋網絡內,不支持鏈接。 Docker文檔

解決方案是將兩個容器都放在同一網絡中。 根據您的描述,我認為沒有必要使用兩個不同的網絡。 只需為第二個使用不同的--ip

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM