Docker網路實現容器互聯

2021-09-01 20:40:47 字數 1598 閱讀 3597

docker network create -d bridge 網路名稱

步驟1、在/data/dockerfile目錄下,vim dockerfile新增如下內容:

from ubuntu:14.04

run apt-get install -y ping

run apt-get update && apt-get install -y nginx curl

expose 80

cmd /bin/bash

步驟2、進入目錄/data/dockerfile下,執行如下命令建立乙個映象,命名為net-test/radiomen

docker build -t net-test/radiomen .
步驟3、使用如下命令建立乙個docker網路,命名為net-test

docker network create -d bridge net-test
檢視docker網路是否建立成功,使用如下命令:

docker network ls
步驟4、使用映象net-test/radiomen建立兩個連線docker網路net-test的容器,分別為test1和test2命令如下:

docker run -d --name test1 --rm --network net-test -it  net-test/radiomen

docker run -d --name test1 --rm --network net-test -it net-test/radiomen

步驟5、使用映象net-test/radiomen建立乙個普通容器test3,如下:

docker run -d --name test3 --rm -it  net-test/radiomen
步驟6、連線容器test1,使用如下命令:

docker attach test1

進入容器後使用命令ifconfig檢視當前容器ip位址

使用ctrl+p ctrl+q退出容器test1

步驟7、連線容器test3,使用如下命令:

docker attach test3

進入容器後使用命令ifconfig檢視當前容器的ip位址

使用ping命令ping容器test1的ip位址,發現ping不通

使用ctrl+p ctrl+q退出容器test1

步驟8、連線容器test2,使用如下命令:

docker attach test2

使用ping命令ping容器test1的ip位址,能夠ping通

使用ping命令ping容器test3的ipi位址,ping不通

實驗結果說明,在同乙個docker網路下的容器可以互相聯通。

步驟1、清理測試容器

docker rm -f test1 test2 test3

步驟2、刪除docker網路net-test

docker network rm net-test

清理所有無用的network使用如下命令:

docker network prune

docker 容器互聯

docker容器之間,預設是可以互相連線的 當啟動兩個容器contain1,contain2 contain1 ping contain2 ip contain2 ping contain1 ip 兩個是相互能ping通的 即使能夠互聯,但是,當我們重啟容器,或者重啟docker服務時 容器的ip就...

Docker 容器互聯

容器的連線 linking 系統是除了埠對映以外的另一種可以與容器中應用進行互動的方式。它會在源和接收容器之間建立乙個隧道,接收容器可以看到源容器指定的資訊。一 自定義容器命名 連線容器依據系統容器的名稱來執行,但自定義命名容器有兩個好處 使用 name標記可以為容器自定義命名 docker ps ...

Docker 容器互聯

可以指定容器繫結的網路位址,比如繫結 127.0.0.1。預設都是繫結 tcp 埠,如果要繫結 udp 埠,可以在埠後面加上 udp。docker port 命令可以讓我們快捷地檢視埠的繫結情況。docker port t1 當建立乙個容器的時候,docker 會自動對它進行命名。也可以使用 nam...