docker 自定义桥接网络

docker的容器默认可以访问外网,但是外网访问不了容器,可以使用端口映射的方式访问容器的服务,还有一种方法就是桥接到物理网络。
1,安装桥接相关的库文件

yum install bridge-utils

2,修改网卡文件

vi /etc/sysconfig/network-scripts/ifcfg-ens32

TYPE=“Ethernet”
BOOTPROTO=“none”
DEFROUTE=“yes”
IPV4_FAILURE_FATAL=“no”
NAME=“ens32”
DEVICE=“ens32”
ONBOOT=“yes”
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_PRIVACY=no
BRIDGE=“br0”

vi /etc/sysconfig/network-scripts/ifcfg-br0 (br0文件默认不存在的要创建出来,ip地址由br0承载)

DEVICE=br0
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=static
TYPE=Bridge
IPADDR=192.168.43.65
NETMASK=255.255.255.0
GATEWAY=192.168.43.1
DNS1=8.8.8.8

3.重启网络

systemctl restart network

br0上有ip表示正常

4.安装pipework工具

pipework工具可以为docker容器指定静态ip

yum install -y git

git clone https://github.com/jpetazzo/pipework #pipework要去网上下载,下载后目录底下有pipework命令

cp pipework/pipework /usr/local/bin/ #红色标注就是我们要用的命令

5.运行一个容器并为它设置ip

docker run -itd --net=none --name=centos7 centos

pipework br0 centos7 192.168.43.111/24@192.168.43.1

6.验证

yum -y install net-tools #新的容器没有ifconfig命令 可以用这个命令下载,可以看到ip已经是43.111了

可以看到外网可以直接访问容器了。

本文链接:https://blog.csdn.net/qq_41772936/article/details/81192369

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值