【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