docker容器的网络模式和docker数据卷

目录

一、docker的网络模式

Ⅰ、相关命令

1.查看

2.创建

3.删除

Ⅱ、网络模式

1.Bridge模式

2.Container模式

3.Host模式

4.None

5.overlay2

二、管理容器网络

Ⅰ、自定义网络

Ⅱ、删除所有无用的网络

Ⅲ、强制断开容器的网络

 三、运行状态容器的暴露端口

Ⅰ、容器开启时定义端口

Ⅱ、容器开启后添加或者修改端口

四、容器数据卷

Ⅰ、挂载到宿主机

Ⅱ、容器间共享


一、docker的网络模式

Ⅰ、相关命令

1.查看

docker network ls


docker network ls --no-trunc

 显示完整的网络ID


docker network ls --filter driver=bridge

过滤显示特定网络

类似的还有 :匹配ID

 docker network ls --filter id=c2057140d512d3365c463be95ac63b2ca1279d4a6bbb653e228c0a04fbe9b8ef

docker network ls --format "{
  {.ID}}: {
  {.Driver}}"

用特定的格式输出docker network的信息:如上面的ID:Driver

2.创建

docker network create ***

默认为bridge

3.删除

docker network rm ***

Ⅱ、网络模式

1.Bridge模式

一对一

此模式会为每一个容器分配、设置IP等,并将容器连接到一个docker0虚拟网桥,通过docker0网桥以及iptables nat表配置与宿主之间的关联

当Docker进程启动时,会在主机上创建一个名为docker0的虚拟网桥,此主机上启动的Docker容器会连接到这个虚拟网桥上。虚拟网桥的工作方式和物理交换机类似,这样主机上的所有容器就通过交换机连在了一个二层网络中

从docker0子网中分配一个IP给容器使用,并设置docker0的IP地址为容器的默认网关。在主机上创建一对虚拟网卡veth pair设备,Docker将veth pair设备的一端放在新创建的容器中,并命名为eth0(容器的网卡),另一端放在主机中,以vethxxx这样类似的名字命名,并将这个网络设备加入到docker0网桥中。被分配的IP从docker0为首向后递增,容器的生命周期相对来说是短的,当一个容器退出时,其被分配的IP会被释放给下一个容器使用;所以之后必须要对服务进行规划,让容器互相根据服务名查找,而不是通过IP。

bridge模式是docker的默认网络模式,不写–net参数,就是bridge模式。使用docker run -p时,docker实际是在iptables做了DNAT规则,实现端口转发功能。可以使用iptables -t nat -vnL查看
 

2.Container模式

用别人已有的

创建的容器不会创建自己的网卡,配置自己的IP,而是和一个指定的容器共享IP、端口范围(端口不能一致),只有一个容器有自己的网卡,出去还是docker0进行通讯
有点像各个服务放在同一个宿主机上面这种情况
这个模式指定新创建的容器和已经存在的一个容器共享一个 Network Namespace,而不是和宿主机共享。同样,

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值