1. 程式人生 > >【Linux】【Services】【Docker】網絡

【Linux】【Services】【Docker】網絡

訪問 所有 指定 exp stp 通信 lis docker0 con

容器的網絡模型:

closed container:
僅有一個接口:loopback
不參與網絡通信,僅適用於無須網絡通信的應用場景,例如備份、程序調試等;
--net none

bridged container:
此類容器都有兩個接口:
loopback
以太網接口:橋接至docker daemon設定使用的橋,默認為docker0;

--net bridge
-h, --hostname HOSTNAME
--dns DNS_SERVER_IP
--add-host "HOSTNAME:IP"

docker0 NAT橋模型上的容器發布給外部網絡訪問:
-p <containerPort>
僅給出了容器端口,表示將指定的容器端口映射至主機上的某隨機端口;

-p <hostPort>:<containerPort>
將主機的<hostPort>映射為容器的<containerPort>

-p <hostIP>::<containerPort>
將主機的<hostIP>上的某隨機端口映射為容器的<containerPort>

-p <hostIP>:<hostPort>:<containerPort>
將主機的<hostIP>上的端口<hostPort>映射為容器的<containerPort>

-P, --publish-all
發布所有的端口,跟--expose選項一起指明要暴露出外部的端口;

如果不想啟動容器時使用默認的docker0橋接口,需要在運行docker daemon命令時使用
-b選項:指明要使用橋;

聯盟式容器:

啟動一個容器時,讓其使用某個已經存在的容器的網絡名稱空間;

--net container:CONTAINER_NAME

開放式容器:

容器使用Host的網絡名稱空間;

--net host

容器間的依賴關系:
鏈接機制:linking
--link

容器的資源限制:
run命令的選項:
-m
--cpuset-cpus
--shm-size

【Linux】【Services】【Docker】網絡