ドッカーでgrailsアプリケーションを実行しようとしていて、いくつかのmysql接続の問題が続いています。問題がどこにあるのか分かりません。grails/mysql with docker
これは、Grailsのアプリは、次のエラーで起動しない
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:
私のドッキングウィンドウ・コンファイルです:
ERROR午後6時08分05秒org.apache.tomcat.jdbc.pool.ConnectionPool - プールの初期接続を作成できません。 grails_1 | com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:あなたは本番のenvのための外部設定ファイルでこれを行うことができます"jdbc:mysql://db:3306/dbname"
を指すようにデータソースを設定する必要がありますコミュニケーションズリンク障害
の可能性のある重複した[どのように私は私のドッキングウィンドウのmysqlのコンテナがアップしているとMySQLがクエリを取るための準備ができたときに知っているのですか?](http://stackoverflow.com/questions/25503412/how-do- mysql-container-up-and-mysql-ready-for-take) – nwinkler
これは、Javaアプリケーションが起動する時点でデータベースが利用できないことが原因と考えられます。リンクされた質問を見てください、それはデータベースがアップするのを待つためのいくつかの解決策が含まれています。私はこの目的のためにhttps://github.com/vishnubob/wait-for-itを使います。 – nwinkler
ありがとうございましたが、私の問題は、新しいパスワードを設定するためにボリュームを削除しなければならなかったボリュームにマウントされているため、作成ファイルのパスワードを変更したことでした。 – Torsten