-d, --driver
:网络驱动--gateway
:网关地址--subnet
:表示网段的CIDR格式的子网--ipv6
:启动ipv5docker network creatre --driver=bridge --subnet=192.168.0.0/16 br0
docker network inspect [OPTIONS] NETWORK [NETWORK...]
-f, --format
:指定格式docker network connect [OPTIONS] NETWORK CONTAINER
--ip
:指定IP地址--ip6
:指定IPV6地址# 将正在运行的容器连接到网络 docker network connect multi-host-network my_container1 # 启动时将容器连接到网络 # 还可以使用docker run --network=选项启动容器并立即将其连接到网络 docker run -itd --network=multi-host-network SnowK_Container # 指定容器的IP,可以指定要分配给容器网络接口的IP地址 docker network connect --ip 172.21.26.211 multi-host-network my_container2
docker network disconnect [OPTIONS] NERWORK CONTAINER
-f
:强制退出docker network disconnect multi-host-network my_container
docker network prune [OPTIONS]
-f, --force
:强制删除-f
:强制删除docker network ls [OPTIONS]
-f, --filter
:指定过滤条件--format
:指定格式--no-trunc
:不截断-q, --quiet
:仅仅显示 iddocker0
,它允许连接到同一网桥网络的容器进行通信,同时提供与未连接到该网桥网络容器的隔离默认情况下,创建的容器在没有使用--network
参数指定要加入的 docker 网络时, 默认都是加入 Docker 默认的单机桥接网络
默认的bridge网络会被映射到内核中名为docker0
的网桥上
docker0
网桥是对应关系容器间的网络通信
docker0
这个网桥设备, 然后通过这个网桥来进行容器间的通信docker0
,也可以创建一些自定义的bridge,让运行的容器通过自定义bridge进行通信docker network create -d bridge new-bridge
docker run -itd --name c3 --network new-bridge SnowK
--network
选项指定要连接的网络,bridge
-P
:暴露所有端口 docker port
命令查看-p
:暴露指定端口 -p :
映射至指定的主机端口
bridge
网络的容器只能与连接在当前网络中的容器进行通信。如果一个容器想要对外提供一些网络服务的话,需要进行端口转发才可以实现 Docker容器运行默认都会分配独立的Network Namespace隔离子系统
但是如果基于host网络模式,容器将不会获得一个独立的Network Namespace,而是和宿主机共用同一个Network Namespace
适用场景:
bridge
网络在通信的时候需要进行端口转发以及NAT地址转换, 这势必会消耗掉一些资源以及性能Docker Container的other container网络模式是Docker中一种较为特别的网络的模式
Docker Container的other container网络模式
Docker Container的other container网络模式实现逻辑如下:
操作实例
# 创建一个容器 docker run -itd --name netcontainer1 SnowK # 使用netcontainer1的网络创建另外一个容器 docker run -itd --name netcontainer2 --network container:netcontainer1 SnowK
适用场景