企业运维实战(docker网络)

本文详细介绍了Docker的原生网络模式,包括bridge、host和none模式,并重点讲解了Docker自定义网络的创建与配置,以及如何实现不同网桥的容器通信。此外,还探讨了Docker容器之间的通信方式,如使用--network container和--link选项。最后,文章阐述了跨主机容器网络的macvlan网络方案,展示了如何在不同主机间实现容器的互联互通。
摘要由CSDN通过智能技术生成

Docker原生网络

docker安装后会自动创建3种网络:bridge、host、none
查看docker默认三种网络

docker network ls

docker安装时会创建一个名为 docker0 的Linux bridge,新建的容器会自动桥接到这个接口
查看docker0 ip

ip addr show docker0

在这里插入图片描述

bridge模式

下载网桥工具

yum install bridge-utils.x86_64 -y

运行nginx镜像

docker run -d nginx

下图可以看到新建的容器自动桥接到docker0这个端口

brctl show

在这里插入图片描述

host网络模式

host模式可以让容器共享宿主机网络栈,这样的好处是外部主机与容器直接通信,但是容器的网络缺少隔离性
host网络模式需要在容器创建时指定 --network=host

docker run -it --rm --name vm1 --network host busybox
ping 220.181.38.148 #ping一下百度的ip

在这里插入图片描述

none模式

none模式是指禁用网络功能,只有lo接口,在容器创建时使用

ip addr

可以看到只有一个回环接口的ip
在这里插入图片描述

Docker自定义网络

bridge模式

同一网桥的不同容器

建议使用自定义的网络来控制哪些容器可以相互通信,还可以自动DNS解析容器名称到IP地址

创建一个网桥mynet --subnet自定义网段 --gateway自定义网关

docker network create --subnet 172.20.21.0/24 --gateway 172.20.21.1 mynet

查看docker网络

docker network ls

查看网桥

brctl show

可以看到新加入了一个bridge mynet
在这里插入图片描述
使用–ip参数可以指定容器ip地址,但必须是在自定义网桥上,默认的bridge模式不支持,同一网桥上的容器是可以互通的

运行镜像nginx在容器demo 使用自定义网桥mynet ip设定为172.20.21.10 -d是打入后台
运行busybox进入容器 使用自定义网桥mynet

	docker run -d --name demo --network mynet --ip 172.20.21.10 nginx
	docker run -it --rm --network mynet  busybox

使用如下命令可以看出使用自己创建的网桥 自带DNS服务

ping demo

在这里插入图片描述

不同网桥的容器

那么如何使两个不同网桥的容器通信呢?
使用 docker network connect命令为demo容器添加一块mynet1的网卡
在这里插入图片描述

首先创建网卡mynet1,网段为172.10.21.0/24

docker network create --subnet 172.10.21.0/24 --gateway 172.10.21.1 mynet1

运行busybox在demo容器 网络模式为网桥mynet ip为172.20.21.10

docker run  -it --rm  --name demo --network mynet --ip 172.20.21.10 busybox

ctrl+p+q 打入后台

然后使用 docker network connect命令为demo添加网桥mynet1 --ip 指定ip

docker network connect mynet1 --ip 172.10.21.10 demo

将容器demo运行到前端

docker attach demo

查看ip

ip addr

如下图 可以看到demo有两个ip:172.10.21.10、172.20.21.10

在这里插入图片描述

Docker容器通信

容器通信的意思就是 两个容器共用一个ip 可以使用localhost快速互相访问

在这里插入图片描述

–network container:容器名

这 里 我 们 使 用 两 个 容 器 , v m 1 容 器 运 行 n g i n x

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Pu.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值