docker容器中有关网络的一些详细配置(桥接)

  • Post author:
  • Post category:其他


环境 vwmare+centos7+docker

vmware为桥接模式 centos7能连外网即可

centos7 ip“192.168.1.100 网卡 ens33

Docker默认的网络模式为桥接模式,会将所建的容器连接到一个虚拟网络交换机docker0上

启动docker时的宿主机网卡情况

在这里插入图片描述

物理机在我的VMware使用的桥接模式时 就会配置一张虚拟网卡与centos7通信

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

此时我的物理机是无法ping通网桥的 也无法ping通容器

在这里插入图片描述

这里写出了启动docker容器启动时,与宿主机之间的网络连接情况,默认为桥接模式

在这里插入图片描述

运行一个centos容器 该容器自身的网卡情况

此centos容器可ping宿主机 也可连外网

在这里插入图片描述

网络配置文件

在这里插入图片描述

再运行一个centos1容器

在这里插入图片描述

再加一个nginx容器和centos2

生成三个容器后的宿主机

在这里插入图片描述

容器不开启宿主机不会显示网卡信息

在这里插入图片描述

**容器和宿主机(centos7)之间能够互相ping通 容器之间也可互相ping通 容器也可访问外网 **

但是我的物理机无法ping通容器,即与宿主机同一网段内的其他机器无法互相访问。需要通过NAT将容器IP的port映射为宿主机的ip和port

将ip绑定到网桥br0上

在这里插入图片描述

配置DNS文件/etc/resolv.conf

在这里插入图片描述

在这里插入图片描述

vim ifcfg-br0

在这里插入图片描述

在这里插入图片描述

这里插一个曾经配置过在ubuntu16.04下的网桥配置


ubuntu 16.04 VMWare+Ubuntu+KVM+VNC

此时centos7网络状况良好

接下来修改docke的配置文件

我这里没有/etc/sysconfig/docker这个文件

Docker是交给systemd来管理的,它的配置文件在/usr/lib/systemd/system/docker.service

需要添加EnvironmentFile=-/etc/default/docker,让后在ExecStart这个配置中,添加引用的参数$DOCKER_OPTS

-代表ignore error

在这里插入图片描述

vim /etc/sysconfig/docker

#选择网桥

DOCKER_OPTS=”-b=br0″

#指定DNS

#DOCKER_OPTS=”–dns 114.114.114.114 –dns 8.8.8.8″

#重载

systemctl daemon-reload

#重启docker服务

service docker restart

查看加载状态

systemctl status docker.service

在这里插入图片描述

重新开启容器 查看ip 可看到ip已经与br0在同一网段

在这里插入图片描述

容器可连外网

容器id映射为宿主机ip

在这里插入图片描述

与宿主机在同一网段内的机器也可访问容器

在这里插入图片描述

参考

CentOS7修改Docker默认启动参数(/etc/default/docker文件不存在)

docker四种网络模式

在这里插入图片描述



版权声明:本文为WuWuWu_you原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。