鸿 网 互 联 www.68idc.cn

docker 指定ip开容器,并且和内网在同一个网段推荐

来源:互联网 作者:佚名 时间:2018-01-22 10:03
第1步:创建自定义网络备注:这里选取了100.0.0.0网段,也可以指定其他任意空闲的网段dockernetworkcreate--subnet=100.0.0.0/16shadownet注:shadown为自定义网桥的名字,可自己任意取名。第2步:在你自定义的网段选取任意IP地址作为你要启动的container的静
 第1步:创建自定义网络  备注:这里选取了100.0.0.0网段,也可以指定其他任意空闲的网段  docker network create --subnet=100.0.0.0/16 shadownet  注:shadown为自定义网桥的名字,可自己任意取名。  第2步:在你自定义的网段选取任意IP地址作为你要启动的container的静态IP地址  备注:这里在第二步中创建的网段中选取了100.0.0.10作为静态IP地址。这里以启动shadowsocks为例。  docker run -d --net shadownet --ip 100.0.0.10 --name test --hostname test 镜像名称   docker run -tid --net shadownet --ip 100.0.0.10 --name test01 --hostname test01 ubuntusshd     第3步  如果希望可以直接使用容器内的port和ip,那么就把上面定义的网段设置为何内网网卡同一个网段,并且设置把内网的网卡添加到shadownet这个网桥中  命令如下:    brctl addif br-05da2d960ae0 eth0 :这个名称你用brctl show 和ifconfig 查看 确定哪一个是你的网桥即可





1.创建自定义网络
docker network create --subnet=172.10.83.0/24 shadownet
2.查看docker网络创建的网段
root@ubuntu:~# brctl show
bridge name bridge id STP enabled interfaces
br-63b79e46dfef 8000.001a64c511c4 no eth0
 vethb34d864
 vethe3a0421
 
3.配置桥接eth0的网卡,br-63b79e46dfef这个网卡得根据上面brctl show的结果获取
auto br-63b79e46dfef
iface br-63b79e46dfef inet static
address 172.10.0.83 ## 必须要是eth0,或者说是和你物理网络在同一个网段 
netmask 255.255.0.0 ##和你的物理网络事相同的掩码 
bridge_ports eth0
bridge_stp off
bridge_fd 0
bridge_maxwait 0

创建主机测试 docker run -d -P -p 1112:4201 --net shadownet --ip 172.10.83.12 --name gaogd-test-sshd02 --hostname gaogd-test-sshd02 ubuntu:latest 5.在其他主机ping 这个新建的网段


1.第一步创建docker 的网络
 docker network create --subnet=172.10.0.0/16 shadownet
 其中172.10.0.0/16 这个网段得和你服务器的内网网段一致
 
2.修改网络网络地址配置文件
root@ubuntu:/etc# brctl show
bridge name bridge id STP enabled interfaces
br-6b22c669ab26 8000.66bf785d1ad4 no em2
 vethdf73551
 
 
添加下面配置内容:其中br-6b22c669ab26这个网卡名称,根据brctl show 查看得出,brctl 命令需要额外安装 apt-get install bridge-utils
auto br-6b22c669ab26 
iface br-6b22c669ab26 inet static
 address 172.10.0.1 ## 这个地址是你的内网网段地址,并且要是网段中的第一个可用ip,因为容器的默认网关指向网段的第一个可用ip
 netmask 255.255.0.0 ## 内网掩码
 broadcast 172.10.0.255
 bridge_ports em2 ## 这个em2 是你内网网卡名称
 bridge_stp off
 bridge_fd 0
 bridge_maxwait 0
 
3.重启网卡
sudo ifdown br-6b22c669ab26   sudo ifup br-6b22c669ab26

4.查看 em2 是否在 br-6b22c669ab26 网桥中 root@ubuntu:/etc# brctl show bridge name bridge id STP enabled interfaces br-6b22c669ab26 8000.66bf785d1ad4 no em2  vethdf73551     5.打开包转发 echo 1   /proc/sys/net/ipv4/ip_forward 6.开服务器测试  docker run -d -P -p 13:4201 --net shadownet --ip 172.10.89.3 --name gaogd-test-03 --hostname gaogd-test-03 ubuntussh:latest 7.进入服务器 ping 172.10.0.1 ping 172.10.0.xx 内网的其他服务器 ping www.baidu.com 如果成功就可以了
网友评论
<