1 回答

TA貢獻1820條經(jīng)驗 獲得超3個贊
這通常是因為 Docker 為容器創(chuàng)建了自己的內(nèi)部網(wǎng)絡(luò),因此默認情況下兩個容器看不到對方。所以你有兩個選擇:
創(chuàng)建一個 docker 網(wǎng)絡(luò)并將兩個容器附加到該網(wǎng)絡(luò)
創(chuàng)建一個新網(wǎng)絡(luò):
docker network create <networkName>
要將容器連接到特定網(wǎng)絡(luò):
– 使用 docker run 和 —network 標(biāo)志啟動容器時連接到網(wǎng)絡(luò)。像這樣的東西(注意網(wǎng)絡(luò)標(biāo)志)
docker run -dit --name <containerName> --network <networkName> <imageName>
– 使用以下命令將已創(chuàng)建的容器連接到網(wǎng)絡(luò)
docker network connect <networkName> <containerName>
使用 docker-compose 設(shè)置兩個圖像(這是我的首選選項)。Docker compose 自動創(chuàng)建網(wǎng)絡(luò)并設(shè)置容器以在該網(wǎng)絡(luò)中運行
設(shè)置網(wǎng)絡(luò)后,您應(yīng)該能夠使用以下命令從一個容器到達另一個容器containerName:PortNumber
如果容器仍然無法相互通信:
– 檢查它們是否實際上在同一網(wǎng)絡(luò)中:通過運行docker network inspect
– 檢查是否可以到達另一臺機器(從容器內(nèi))
ping <dockerContainerName> ping <dockerContainerIPaddress>
– 檢查相應(yīng)的端口是否打開
nmap -p <portnumber> <dockerContainerIPaddress>
- 1 回答
- 0 關(guān)注
- 150 瀏覽
添加回答
舉報