🤔
docker-compose run web rails db:createができない(Can't connect to local〜)
環境
・M1 Mac
・dockerを使用してrails 7.0.4.3、ruby 3.1.4、mysql 5.7の環境
docker-compose run web rails db:create できない
docker-compose run web rails db:create
実行すると以下のエラーがでました。
Can't connect to local MySQL server through socket '/run/mysqld/mysqld.sock' (2)
Couldn't create '' database. Please check your configuration.
rails aborted!
ActiveRecord::ConnectionNotEstablished: Can't connect to local MySQL server through socket '/run/mysqld/mysqld.sock' (2)
Caused by:
Mysql2::Error::ConnectionError: Can't connect to local MySQL server through socket '/run/mysqld/mysqld.sock' (2)
解決策
さまざまな対応策を試しましたが、最終的にdocker-compose.ymlに、
環境変数 environment:RAILS_ENV: development を追記することでエラーが解消しました。
docker-compose.yml
・
・途中省略
・
web:
build: .
command: bundle exec rails s -p 3000 -b '0.0.0.0'
volumes:
- ./src:/app
ports:
- "3000:3000"
environment:
RAILS_ENV: development #追加
depends_on:
- db
参考記事
Discussion