grails / mysql与docker组成

我试图在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 – 无法创build池的初始连接。 grails_1 | com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:通信链接失败

您需要将数据源configuration为指向"jdbc:mysql://db:3306/dbname"

您可以使用外部configuration文件来执行生产环境。 或者您可以从系统环境中读取主机和数据库名称的值。

请参阅使用docker和docker撰写grails应用程序war给tomcat