【发布时间】:2017-07-16 21:47:12
【问题描述】:
我正在尝试在 docker 中运行 grails 应用程序并在一些 mysql 连接问题中继续运行。我不知道问题出在哪里。
这是我的 docker-compose 文件
version: "2"
services:
db:
image: mysql:5.7
volumes:
- db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: root2017
MYSQL_DATABASE: dbname
MYSQL_USER: Dbuser
MYSQL_PASSWORD: passw
grails:
depends_on:
- db
ports:
- "9001:9001"
restart: always
environment:
DB_HOST: db:3306
DB_PASSWORD: passw
volumes:
db_data:
grails 应用程序无法启动并出现以下错误:
错误 18:08:05 org.apache.tomcat.jdbc.pool.ConnectionPool - 无法创建池的初始连接。 grails_1 | com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:通信链路故障
【问题讨论】:
-
这可能是由于您的 Java 应用程序启动时数据库不可用造成的。请看一下链接的问题,它包含几个等待数据库启动的解决方案。为此,我使用github.com/vishnubob/wait-for-it。
-
谢谢,但我的问题是我更改了撰写文件中的密码,因为它已安装到卷上,我必须删除卷才能设置新密码。
标签: java grails jdbc docker docker-compose