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

質問編集履歴

2

追記

2020/08/28 05:01

投稿

ts21
ts21

スコア32

title CHANGED
File without changes
body CHANGED
@@ -184,4 +184,21 @@
184
184
  ##やったこと
185
185
  エラーを調べてみると、ローカルのMysql2とDockerの間でコネクションができていないようです。
186
186
  そもそも、Mysqlのイメージを使用しているのでローカルは関係ないと思うのですが、zshenvに環境変数を
187
- 設定する必要でもあるのでしょうか?
187
+ 設定する必要でもあるのでしょうか?
188
+
189
+ ##追記
190
+ docker-compose -f docker-compose.yml up 実行の場合は上記エラーメッセージが出力されます
191
+
192
+ % docker-compose -f docker-compose2.yml up の実行ログは以下の通りです。
193
+ %docker-compose -f docker-compose2.yml run --rm app bash -c "rake db:create && rake db:migrate && bundle exec rails s"
194
+ も同様のログとなります
195
+
196
+ ```ここに言語を入力
197
+ WARNING: The APP_PORT variable is not set. Defaulting to a blank string.
198
+ WARNING: The DB_PORT variable is not set. Defaulting to a blank string.
199
+ WARNING: The DB_TEST_PORT variable is not set. Defaulting to a blank string.
200
+ ERROR: The Compose file './docker-compose2.yml' is invalid because:
201
+ services.app.ports is invalid: Port ranges don't match in length
202
+ services.db.ports is invalid: Port ranges don't match in length
203
+ services.db-test.ports is invalid: Port ranges don't match in length
204
+ ```

1

ファイルを追加

2020/08/28 05:01

投稿

ts21
ts21

スコア32

title CHANGED
File without changes
body CHANGED
@@ -110,6 +110,35 @@
110
110
  docker start app_web
111
111
  docker attach app_web
112
112
  ```
113
+ config/database.yml
114
+ ```ここに言語を入力
115
+ default: &default
116
+ adapter: mysql2
117
+ encoding: utf8mb4
118
+ pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
119
+ username: <%= ENV.fetch("MYSQL_USER") { 'root' } %>
120
+ password: <%= ENV.fetch("MYSQL_PASSWORD") { '' } %>
121
+ host: <%= ENV.fetch('MYSQL_HOST') { ENV['DOCKER_HOST_IP'] } %>
122
+
123
+ development:
124
+ <<: *default
125
+ database: <%= ENV.fetch('MYSQL_DATABASE') { 'app_development' } %>
126
+
127
+ test:
128
+ <<: *default
129
+ host: <%= ENV.fetch('MYSQL_TEST_HOST') { ENV['DOCKER_HOST_IP'] } %>
130
+ database: app_test
131
+
132
+ production:
133
+ <<: *default
134
+ host: app.cgbybcmani5q.ap-northeast-1.rds.amazonaws.com
135
+ database: app
136
+ username: root
137
+ password: <%= ENV['APP_DATABASE_PASSWORD'] %>
138
+ ```
139
+
140
+
141
+
113
142
  ##エラー
114
143
  コマンドから sh docker-start.sh を実行するとビルドできるはずなのですが
115
144
  Mysql関連でエラーが出て困っています。