在Docker中,自定義網(wǎng)絡(luò)允許您創(chuàng)建隔離的網(wǎng)絡(luò)環(huán)境,使容器可以在這些網(wǎng)絡(luò)中相互通信。要使自定義網(wǎng)絡(luò)中的容器互聯(lián),請(qǐng)按照以下步驟操作:
創(chuàng)建自定義網(wǎng)絡(luò):
首先,使用docker network create
命令創(chuàng)建一個(gè)新的自定義網(wǎng)絡(luò)。例如,創(chuàng)建一個(gè)名為my_network
的網(wǎng)絡(luò):
docker network create my_network
運(yùn)行容器并將其連接到自定義網(wǎng)絡(luò):
當(dāng)您運(yùn)行一個(gè)新的容器時(shí),可以使用--net
選項(xiàng)將其連接到自定義網(wǎng)絡(luò)。例如,運(yùn)行一個(gè)名為container1
的容器,并將其連接到my_network
網(wǎng)絡(luò):
docker run -d --name container1 --net my_network my_image1
同樣,您可以運(yùn)行另一個(gè)名為container2
的容器,并將其連接到my_network
網(wǎng)絡(luò):
docker run -d --name container2 --net my_network my_image2
在自定義網(wǎng)絡(luò)中的容器之間通信:
由于容器已連接到同一自定義網(wǎng)絡(luò),它們可以通過(guò)容器名稱相互通信。例如,在container1
中,您可以使用container2
的名稱作為主機(jī)名訪問(wèn)它。例如,如果您想在container1
中運(yùn)行一個(gè)命令,該命令需要與container2
通信,您可以這樣做:
docker exec -it container1 sh -c "curl http://container2:8080"
這里,container2
是容器名稱,8080
是container2
上服務(wù)的端口。請(qǐng)根據(jù)實(shí)際情況替換這些值。
通過(guò)以上步驟,您已經(jīng)成功地在Docker自定義網(wǎng)絡(luò)中互聯(lián)了兩個(gè)容器。它們可以通過(guò)容器名稱相互通信,從而實(shí)現(xiàn)數(shù)據(jù)交換和服務(wù)集成。