在Docker容器中连接tomcat到mysql时遇到问题?

我有通过docker群创build的2个docker服务。

一个是Tomcat,另一个是mysql,我试图从tomcat连接到mysql,都在不同的容器。

这里是我的tomcat容器中的hibernate.cfg.xml

 <property name="connection.url"> jdbc:mysql://localhost:3306/travelbiz </property> <property name="connection.username">trvlbz_admin</property> <property name="connection.password">admin123</property> 

这里是服务运行

 root@ubuntu:/home/smadmin# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 2ecb386d9bbc cloudesire/tomcat@sha256:19e24a2290e4c3253a44d65243a54c520e9f8e0fe0edf3a5221ccc67cf9da0f8 "/run.sh" 7 hours ago Up 7 hours 8080/tcp apache.2.1ftla1ohbnjgax7ibk8fbh5hz 4e940f3be18d vishnuranganathan/vishmysql@sha256:4460004d01c9a23d4c80ea2a9d7a69fc1495cbe01b48555cf28bd73a535176d1 "/usr/bin/mysqld_safe" 7 hours ago Up 7 hours 3306/tcp mysql.1.hjoba4bsrl8lujfumc6qru3uq 

我正在尝试通过tomcat访问mysql连接拒绝exception有人可以帮助我吗?

你不想使用mysql容器的ip地址,因为下次启动一个新的mysql容器时,或者如果你想缩放它(尽pipemysql可能不容易),这个绑定会改变。 你最好使用的是容器的名字。 当你调出容器时,你会使用docker run ,确保添加--name mysql ,然后使用mysql而不是ip地址。