一、Docker网络
docker run -d -P --name tomcat01 tomcat docker exec -it tomcat01 ip addr docker run -d -P --name tomcat02 tomcat docker exec -it tomcat02 ip addr
ping 一下docker的网络
docker 桥接技术 evth-pair
容器之间互通
docker exec -it tomcat02 ping 172.18.0.2
二、容器互联 --link【不推荐】
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ab02e119004d tomcat “catalina.sh run” 2 hours ago Up 3 seconds 0.0.0.0:32771->8080/tcp tomcat02
ee9e4f48dcff tomcat “catalina.sh run” 2 hours ago Up 8 seconds 0.0.0.0:32770->8080/tcp tomcat01
docker exec -it tomcat02 ping tomcat01 ping: tomcat01: Name or service not known
解决办法
docker run -d -P --name tomcat03 --link tomcat02 tomcat docker exec -it tomcat03 ping tomcat02
docker exec -it tomcat03 cat /etc/hosts
三、容器互联【自定义网络】
查看网络
默认启动方式
docker run -d -P --name tomcat01 --net bridge tomcat
自定义网络
docker network create --driver bridge --subnet 192.168.0.0/16 --gateway 192.168.0.1 mynet docker network ls docker network inspect mynet
发布自己的应用到这个网络
docker run -d -P --name tomcat01 tomcat-net-01 --net mynet tomcat docker run -d -P --name tomcat01 tomcat-net-02 --net mynet tomcat docker exec -it tomcat-net-01 ping 192.168.0.3 docker exec -it tomcat-net-01 ping tomcat-net-02
保证集群的安全隔离