docker rmi 删除<none>_Docker之6 网络管理

Docker网络概述

网络(network)是为了实现容器间或容器与外接进行通信,Docker提供了6种网络模式来解决不同场景下的连接方案,分别是bridge、host、overlay、macvlan、none、network plugin。

如何根据不同的业务场景选择不同的网络

如果使用容器互连时桥接网络是最佳的解决方案。当需要Docker主机隔离时主机网络最佳的解决方案。当需要跨Docker主机实现网络互联时覆盖网络是最佳选择。当您从大流量需要像物理网卡性能工作时Macvlan网络最佳选择,每个主机都具有唯一的MAC地址。第三方网络插件允许您将Docker与专用网络堆栈集成。

bridge网络

bridge模式是默认容器启动默认分配的网络方式,容器使用独立的网络命名空间(namespace),并连接到docker0虚拟网卡上。

host网络

host模式是容器与Docker主机共享同一网络命名空间(namespace),Docker主机的网络协议栈、路由表、iptables规则、网卡、IP、端口等等都是共享的。容器跟宿主机都在同一网络视图下。这个模式很好的解决了容器与外界通信地址转换的问题,可以直接使用宿主机的IP进行通信,那么这里的网络流量和压力走的都是宿主机的网卡,性能会比较高。不过这个有风险,因为容器跟宿主机是共享一套网络机制,没有隔离。那么会引起网络资源与宿主机的竞争和冲突关系。规模小的场景,可以使用这种模式。主机网络驱动程序仅适用于Linux主机,不支持Windows及Mac平台。

overlay网络

overlay模式是多个Docker主机之间的分布式网络解决方案。该网络位于特定于主机的网络之上,允许连接到它的容器(包括群集服务容器)安全地进行通信。Docker透明地处理每个数据包与Docker守护程序主机和正确的目标容器之间正确的的路由。

macvlan网络

macvlan跟overlay一样也是跨主机互联的驱动方案。在某些大流量或性能要求较高的场景下,希望直接连接到物理网络,在这种情况下,您可以使用macvlan网络驱动程序为每个容器的虚拟网络接口分配MAC地址,使其看起来像是直接连接到物理网络的物理网络接口。

none网络

none模式用于完全禁用容器上的网络堆栈,容器单独使用一个网络命名空间(namespace),仅创建回环设备,如果需要容器连接其他网络,则需要手动进行网络相关的设置,灵活性最高但也是最复杂。

插件网络

以上五种驱动都是docker原生提供的,如果以上五种不能满足你的要求,除了原生提供,还支持第三方的驱动模式接入。比如常用的 flannel、pipework、weave 和 calico 等等。

Docker network管理命令

显示网络列表

docker network ls
1b5f9f6af2114449aad288403b23b1ba

创建网络

docker network create  --config-from 复制其他网络配置--driver 指定网络模式--gateway 指定网关--internal 限制只能内部访问--ip-range 从子网范围分配容器IP--ipv6 启用IPv6网络--subnet 指定网段
ac04cd3afa874ad6b870a783eedc4bf4

配置容器连接到指定的网络

docker network connect 
4452a86b283443f8b7db4cf5f44aa41c

取消容器连接到指定的网络

docker network disconnect 
12ea5f9a17e348ac85121df9f8d54e4c

查看网络详情

docker network inspect 
96a13b1fa8304408b4bdabc74676ca62

删除网络

docker network rm 
7cc70e5adbc84af09fed2cea9a8e4102

清理未使用的网络

docker network prune
b732028bb9e2499fa6b40f3b66816a2c

启动容器时指定网络

docker run -it  --network=
5a84e4914c024f379374b1be308e1a48

采用网络名称进行通讯

docker network create lamp-networkdocker run -it  --network lamp-network --network-alias apache centos:latestdocker run -it  --network lamp-network --network-alias php centos:latestdocker run -it  --network lamp-network --network-alias mysql centos:latest
cabe889d7c7e44b997b407e17b630ae9
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值