前提・実現したいこと
Docker環境でRails6.0 MySql8.0 Nginxの3つのコンテナを立ち上げ開発環境を構築していたところエラーで次に進まず
困っています。
お力貸していただけると幸いです。
発生している問題・エラーメッセージ
webapp
├ Dockerfile
├ docker-compose
├ environments
│ ├ db.env
# docker-compose exec app rails db:create Mysql2::Error::ConnectionError: Access denied for user 'hoge'@'%' to database 'webapp_development' Couldn't create 'webapp_development' database. Please check your configuration. rails aborted! ActiveRecord::StatementInvalid: Mysql2::Error::ConnectionError: Access denied for user 'hoge'@'%' to database 'webapp_development'
該当のソースコード
docker-compose.yml
version: '3' services: app: build: context: . env_file: - ./environments/db.env command: bundle exec puma -C config/puma.rb volumes: - .:/webapp - public-data:/webapp/public - tmp-data:/webapp/tmp - log-data:/webapp/log depends_on: - db db: image: mysql env_file: - ./environments/db.env command: --default-authentication-plugin=mysql_native_password volumes: - db-data:/var/lib/mysql environment: MYSQL_ROOT_PASSWORD: password ports: - 3306:3306 web: build: context: containers/nginx volumes: - public-data:/webapp/public - tmp-data:/webapp/tmp ports: - 80:80 depends_on: - app volumes: public-data: tmp-data: log-data: db-data:
database.yml
default: &default adapter: mysql2 encoding: utf8 pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %> username: <%= ENV.fetch('MYSQL_USER') { 'root' } %> password: <%= ENV.fetch('MYSQL_PASSWORD') { 'password' } %> host: db development: <<: *default database: webapp_development test: <<: *default database: webapp_test
environments/db.env
MYSQL_ROOT_PASSWORD=password MYSQL_USER=hoge MYSQL_PASSWORD=hogepassword
試したこと
dbコンテナの中でmysql -u hoge -phogepasswordでmysqlに接続できることは確認しています。
古いコンテナ情報が残っている可能性もあったので一回全てのコンテナ、イメージを削除しビルドし直しましたが改善せず。
補足情報(FW/ツールのバージョンなど)
ホストOS CentOS 7
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。