docker跨主机container通信的方法(配置公有ip)制作docker的基础的Linux系统镜像

docker跨主机container通信的方法,此文将为container配置与宿主机相同网段的ip地址,使container成为一个“实实在在”的主机,与vmware中 将虚拟机配置一个公有ip一样,从网络上看container享有一个独立ip。

https://blog.csdn.net/weixin_40612840/article/details/80260702

1.修改宿主机的网卡

意思好像是将 原本的物理网卡变成公共的,再为宿主的的网卡声明为br0。原本的物理网卡不配值ip地址

cd /etc/sysconfig/network-scripts/

cp ifcfg-ens33 ifcfg-br0

vi  ifcfg-ens33删除ip,netmask,新增BRIDGE=br0。

vi  ifcfg-br0 设TYPE=Bridge,DEVICE=br0。

Service network restart

[root@cm network-scripts]# cat ifcfg-ens33
TYPE=Ethernet
BOOTPROTO=none
DEFROUTE=yes
NAME=ens33
DEVICE=ens33
ONBOOT=yes
BRIDGE=br0

[root@cm network-scripts]# cat ifcfg-br0
TYPE=Ethernet
BOOTPROTO=none
DEFROUTE=yes
NAME=ens33
DEVICE=ens33
ONBOOT=yes
TYPE=Bridge
DEVICE=br0
IPADDR=192.168.229.131
NETMASH=255.255.255.0
GATEWAY=192.168.229.2

2.开启容器并为容器配置ip

使用pipework为指定的container增加公网ip地址,缺点:但是这个ip地址只要container重启后就会消失,需要重新使用pipework在宿主机里再次为container配置公网ip地址。即使在container里使用systemctl start network也会失败

开启一个image并指定网络模式为none(这样,创建的容器就不会通过docker0自动分配ip了,而是根据pipework工具自定ip指定)
docker run -itd --net=none --name=my_centos image_id /bin/bash
docker run -itd --privileged --net=none 9c734ec0c21c /usr/sbin/init  ##以特权模式开启container

给该容器配置网络(注意网卡里的gateway不能缺失)

pipework br0 -i ens33 c5c9625fa24b 192.168.229.101/24@192.168.229.2
-i指定网卡名,后面为指定container的ip,netmask,gateway。
登录该容器

docker exec -it my_centos /bin/bash
ifconfig ens33 若无ifconfig则可yum安装net-tools工具

安装pipework

安装git

yum install git

安装pipework

git clone https://github.com/jpetazzo/pipework

使pipework命令生效

cp ~/pipework/pipework /usr/local/bin/

安装相应依赖软件bridge-utils(网桥)

yum install iputils-arping bridge-utils –y
 

制作docker的基础的Linux系统镜像

tar-cvpf /tmp/system.tar --directory=/ --exclude=proc --exclude=sys --exclude=dev --exclude=run --exclude=boot .(“不要忽略结尾处的”.””)

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值