Linux之Docker容器中的网络

本文详细介绍了Docker的原生网络模式,包括bridge、host和none,并讨论了自定义网络,如bridge、overlay和macvlan驱动。重点讲述了如何创建和配置自定义网络以实现容器间的通信,包括使用容器名称、link和端口映射。此外,还探讨了跨主机容器网络的配置,利用macvlan技术实现跨主机的容器ping通。
摘要由CSDN通过智能技术生成

一、docker原生网络

docker安装后会自动创建3种网络:bridge、host、none,docker安装时会创建一个名为 docker0 的Linux bridge,新建的容器会自动桥接到这个接口。

实验环境:server1中已搭建docker环境

1. 容器自动桥接到docker0接口上

yum install bridge-utils
docker network ls    #查看docker中的网络
ip addr show
docker run -d nginx
brctl show     #容器自动桥接到docker0接口上,关闭容器,则桥接自动关闭

2. 容器内的网络

bridge模式下容器没有一个公有ip,只有宿主机可以直接访问,外部主机是不可见的。 容器通过宿主机的NAT规则后可以访问外网。

docker ps    #查看容器的进程id
docker inspect 进程id    #查看该容器进程详细信息
docker stop 进程id    #关闭容器进程
ping 172.17.0.2    #ping不通
docker start 进程id    #开启容器进程
ping 172.27.0.2        #可以ping通
docker rm -f 进程id    #删除容器

3. 指定网络模式为host

host模式可以让容器共享宿主机网络栈,这样的好处是外部主机与容器直接通信,但是容器的网络缺少隔离性。

docker run -it --name vm1 --network host ubuntu
ip addr

4. 指定网络模式为none

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

docker run -it --name vm2 --network none ubuntu
ip addr

二、Docker自定义网络

自定义网络模式,docker提供了三种自定义网络驱动:

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值