Docker-网络模式、自定义桥接、网段、手动指定IP、不同网段通信、容器通信、创建macvlan

我们需要将前面的docker-compose仓库停掉

[root@server1 harbor]# docker-compose stop  

请添加图片描述

一.Docker网络

docker的镜像是令人称道的地方,但网络功能还是相对薄弱的部分。
docker安装后会自动创建3种网络:bridge、host、none

1.桥接网络

安装桥接网络

ip addr show  docker0
 yum install bridge-utils -y

请添加图片描述

[root@server1 ~]# brctl show

请添加图片描述
运行一个容器查看桥接

root@server1 ~]# docker run -d --name demo nginx
[root@server1 ~]# brctl show

请添加图片描述

当我们删除掉容器之后,桥接又消失了!

docker rm -f demo
brctl show

请添加图片描述

2.host网络模式

需要我们指定network host

我们可以看到我们的桥接口上没有出现新的桥接口

[root@server1 ~]# docker run -d --name demo --network host nginx
[root@server1 ~]# brctl show
[root@server1 ~]# brctl show docker0

请添加图片描述

我们查看端口,可以发现docker运行的镜像nginx占用的是80端口!

[root@server1 ~]# netstat -antlp

请添加图片描述
这个时候,我们再运行一个容器起名为demo2,注意观察,启动之后,查看进程有两个进程demo,demo2。但是很快在查看进程,demo2消失了!
再也不会出现。
为什么?
因为加上参数–network host会占用虚拟机的80端口,所以刚开始尝试启动会看到进程,但是会被demo的80端口挤掉demo2!!

[root@server1 ~]# docker run -d --name demo2 --network host nginx
[root@server1 ~]# docker ps

请添加图片描述
我们查看日志就知道:
docker logs
请添加图片描述

3.none模式

none模式是指禁用网络功能,只有lo接口,在容器创建时使用!
先删除掉刚才创建的容器,重新运行容器:

[root@server1 ~]# docker rm -f demo   
[root@server1 ~]# docker rm -f demo2
[root@server1 ~]# netstat -antlp ##80端口随之消失!
[root@server1 ~]# docker run -it --rm --network=none busybox
/ # ip addr

请添加图片描述

请添加图片描述

我们发现ip addr的时候:只有lo接口
请添加图片描述

二.自定义网络

1.创建自定义网桥

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

创建网桥!!查看类型为brodge!!

[root@server1 ~]# docker network create mynet1
[root@server1 ~]#docker network ls

请添加图片描述
测试:
这时我们发现我们是可以ping demo可以直接成功,说明这模式是可以给提供解析的

[root@server1 ~]# docker run -d --name demo1 --network mynet1 nginx 
[root@server1 ~]# docker run -it --rm --network mynet1 busybox
/ # ip addr
/ # ping demo

请添加图片描述

请添加图片描述

请添加图片描述

注意:
我们再开一个nginx,停掉所有的demo,再次开启时,顺序反一下,查看ip变化

[root@server1 ~]# docker run -d --name demo2 --network mynet1 nginx
[root@server1 ~]
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

dudududu--

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

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

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

打赏作者

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

抵扣说明:

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

余额充值