teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

MYSQL_HOSTだけでなく、MYSQL_PASSWORDもdocker-composeで環境変数として渡すように調整。

2021/02/07 13:36

投稿

suama
suama

スコア1997

answer CHANGED
@@ -53,7 +53,12 @@
53
53
  こうすることで、上記のdatabase.yml のところで ``host: <%= ENV['MYSQL_HOST'] || 'localhost' %>`` した箇所に、``db`` というホスト名が入ります。
54
54
  docker-compose内で起動したコンテナ同士、サービス名(web,db) で名前解決ができるので、接続できるようになります。
55
55
 
56
+ **追記**
56
57
 
58
+ また、database.yml のところで ``<%= ENV['MYSQL_PASSWORD'] || '' %>`` と記載があるので、ここも環境変数で渡すかパスワードなしでの接続となります。
59
+ docker-compose内で起動したMySQLは MYSQL_ROOT_PASSWORD や MYSQL_USERを明示しているので、これに対応するユーザ名 / パスワードをdatabase.ymlに渡す必要があります。
60
+
61
+
57
62
  ```yaml
58
63
 
59
64
  version: '3'
@@ -83,6 +88,7 @@
83
88
  environment:
84
89
  - "SELENIUM_DRIVER_URL=http://selenium_chrome:4444/wd/hub"
85
90
  - MYSQL_HOST=db
91
+ - MYSQL_PASSWORD=password
86
92
  selenium_chrome:
87
93
  image: selenium/standalone-chrome-debug
88
94
  logging: