1 结论知识
- 每一个容器启动时都会被分配一个ip地址;
- 宿主机可以ping通任何一个docker容器;
- 启动docker之后,宿主机默认网卡docker0,启动容器在宿主机注册网卡,使用的evth-pair技术;
- 容器之间可以相互ping通,通过docker0;
2 link
问题:每次容器重新启动都是新ip,其他和该容器通信的时候,指定id肯定不行。
解决:使link技术,在启动容器的时候,将二者关联,即可通过容器名字进行通信:
docker run --name centos2 --link centos1 centos
原理:就是修改hosts;
注意:反向不行。
结论:不推荐使用;
3 自定义网络
docker network create --driver bridge --subnet 192.168.0.0/16 --gateway 192.168.0.1 mynet
- driver :使用桥接;
- subnet :子网掩码;
- gateway :网关;
docker network ls
查看网络;
其他容器接入到该网络
docker run --name deomo --net mynet centos
接入网络的容器可以相互ping通;