docker run -itd --name test1 镜像 /bin/bash
[root@localhost src]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE
centos http 3266e843418b 47 hours ago 298.6 MB
docker.nmgkj.com latest 3266e843418b 47 hours ago 298.6 MB
docker.io/centos centos6 cf2c3ece5e41 13 months ago 194.6 MB
[root@localhost src]# docker run -dit --name test1 docker.nmgkj.com /bin/bash b229ba5a3ce7d5124c098433fddd422c8e966b44d60f560e727c8927ed42aa6b
[root@localhost src]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b229ba5a3ce7 docker.nmgkj.com "/bin/bash" 55 seconds ago Up 49 seconds 22/tcp, 80/tcp test
配置容器网络(IP自定义),并连到网桥br0上。网关在IP地址后面加@指定。
[root@localhost src]# pipework br0 test1 192.168.1.150/24@192.168.1.1 将主机eno16777736桥接到br0上,并把eno16777736的IP(物理机IP)配置在br0上。
[root@localhost src]# ip addr add 192.168.1.107/24 dev br0;ip addr del 192.168.1.107/24 dev eno16777736;brctl addif br0 eno16777736;ip route del default;ip route add default via 192.168.131.1 dev br0 RTNETLINK answers: No such process
RTNETLINK answers: Network is unreachable
完成上述步骤后,我们发现Docker容器已经可以使用新的IP和主机网络里的机器相互通信了。
进入容器内部查看容器的地址:
[root@localhost src]# ifconfig br0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500