【Linux】【Services】【Docker】网络

容器的网络模型:

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

原文地址:https://www.cnblogs.com/demonzk/p/7793853.html