参考
1. 通过容器ip访问
容器重启后,ip会发生变化。通过容器ip访问不是一个好的方案。
查看容器内网下关联的IP
docker inspect 容器ID(根据自己的实际情况填) | grep IPAddress

2.通过link建立连接(官方不推荐使用)
运行容器时,指定参数link,使得源容器与被链接的容器可以进行相互通信,并且接受的容器可以获得源容器的一些数据,比如:环境变量。
# 源容器:mysql
docker run -itd --name test-mysql -e MYSQL_ROOT_PASSWORD=root mysql:5.7
#被链接容器 centos
docker run -itd --name test-centos --link test-mysql:mysql centos /bin/bash
#进入test-centos
docker exec -it test-centos /bin/bash
3.通过 User-defined networks(推荐)
docker network来创建一个桥接网络,在docker run的时候将容器指定到新创建的桥接网络中,这样同一桥接网络中的容器就可以通过互相访问。
- 创建网络
docker network create test-network
- 启动容器时,加入创建的网络
docker run -it --network test-network --network-alias mysql -e MYSQL_ROOT_PASSWORD=handhand123 mysql:5.7
网络加入对应的容器
docker network connect test-network tomcat

网友评论