docker一个宿主机内两个容器之间的通信问题

爬坑。。。今天搞了个docker小demo 在一个宿主机内创建了三个容器,一个tomcat、一个redis、一个mysql。tomcat里有一个springboot项目。访问的时候怎么也连不上数据库。后来才发现两个容器之前的网络是不互通的。。

解决方法 在运行容器的时候如果想连接其他容器 在运行的时候加上 --link +容器名称

如 :

docker run --name docker_tomcat_4 
--link docker_mysql:docker_mysql 
--link docker_redis:docker_redis  
-d -v /usr/local/
docker_springboot-0.0.1-SNAPSHOT.war:/usr/local/tomcat/webapps/
docker_springboot-0.0.1-SNAPSHOT.war -p 8083:8080 41a54fe1f79d

首先我是启动着mysql和redis的 并且起了别名分别叫docker_mysql、docker_redis

然后在项目中配置要写你配置的别名 就是--link docker_mysql:docker_mysql 后边这个就是别名。

docker一个宿主机内两个容器之间的通信问题_第1张图片最重要的一点 在配置文件中host地址一定要写你配置的--link的名字。切记!

你可能感兴趣的:(docker)