其他分享
首页 > 其他分享> > docker局域网独立IP外网访问配置

docker局域网独立IP外网访问配置

作者:互联网

关于docker容器的互通性之前在网上看了好多文章,大多都是使用第三方插件pipework之类的,具体没试过,总感觉插件越多维护越麻烦。之前见过有人直接桥接网卡就能实现docker容器互通,于是自己研究了一下,具体配置如下。

1.首先虚拟机开启双网卡,都能连接外网(一定要开两个网卡,要不然会访问不到外网没法下载镜像了) 2.ip addr会显示两个网卡,/etc/sysconfig/network-script目录下应该只有一个虚拟网卡我这是eth0(也可能是别的名字) 安装yum install -y bridge-utils(这个必须装) 3.新建ifcfg-br0,写入信息 DEVICE="br0" TYPE="Bridge" ONBOOT="yes" NM_CONTROLLED="no" BOOTPROTO="static" IPADDR=“10.211.55.12”//最后一位随便写,网段不能变 NETMASK=“255.255.255.0”//子网掩码虚拟机可以查看 GATEWAY=“10.211.55.1”//这个想了半天没想明白怎么看,反正好用 4.修改ifcfg-eth0 TYPE="Ethernet" PROXY_METHOD="none" BROWSER_ONLY="no" BOOTPROTO="none" DEFROUTE="yes" IPV4_FAILURE_FATAL="no" IPV6INIT="no" NAME="eth0" UUID="84abd5e5-5f90-4a5a-8150-c851c28b4476" DEVICE="eth0" ONBOOT="yes" BRIDGE="br0" 5.记得关闭systemctl stop NetworkManager systemctl disable NetworkManager 否则IP会分配不到 6.查看/usr/lib/systemd/system/docker.service ExecStart最后添加变量$DOCKER_OPTS  在EnvironmentFile=-/etc/sysconfig/docker 目录下加入DOCKER_OPTS=“-b=br0” 7.systemctl restart network systemctl daemon-reload systemctl restart docker   docker run -d nginx就可以访问测试了 问题:使用过程当中发现有一个IP地址始终有问题,容器分配到了,也能ping通,端口始终无法访问,试过多种方法无效,如果遇到此问题随便开启一个容器占用即可.

标签:no,IP,br0,网卡,外网,systemctl,docker,eth0
来源: https://www.cnblogs.com/dayangcong/p/15237216.html