bin/rails db:create を(2回目作成時)以下の
エラー。
could not translate host name "db" to address: Name does not resolve
これは、
db というホストが見つかりませんという意味。
host: db を確認。
Railsからはdockerで設定したリンク(ホスト)が見えない、ということなので、環境変数を経由することにする。
例えば
docker-compose.ymlに次のように追加
environment:
- DATABASE_HOST=db
- DATABASE_PORT=5432
database.ymlに次のように追加
default: &default
adapter: postgresql
encoding: unicode
host: <%= ENV.fetch('DATABASE_HOST') { 'localhost' } %>
port: <%= ENV.fetch('DATABASE_PORT') { 5432 } %>
これで解決した!