LoginSignup
shotam27
@shotam27

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

Docker-compose upした際にMYSQL_PASSWORD cannot be used for the root userのエラー

問題点

https://qiita.com/Yusuke_Hoirta/items/3a50d066af3bafbb8641
こちらの記事を参考に
docker-compose で Rails、MySQL2 の環境構築を行い、
docker-compose upを実行したところ

ulapp_db_1 exited with code 1

とでてしまい立ち上がりません。
ログを見たところ

MYSQL_USER="root", MYSQL_PASSWORD cannot be used for the root user

とかいてあったのでパスワードがおかしいのかと思い確認しましたが
特に問題なさそうでした。
下記が関連してそうなファイルの内容です。

docker-compose.yml
version: '3'

services:
  db:
    image: mysql:5.7
    environment:
      MYSQL_USER: root
      MYSQL_ROOT_PASSWORD: password
    ports:
      - "3306:3306"
    volumes:
      - mysql_data:/var/lib/mysql

  web:
    build: .
    command: bash -c "rm -f tmp/pids/server.pid && bundle exec rails s -p 3000 -b '0.0.0.0'"
    volumes:
      - .:/ulapp/
    ports:
      - 3000:3000
    depends_on:
      - db

volumes:
  mysql_data:
database.yml
# MySQL. Versions 5.1.10 and up are supported.
#
# Install the MySQL driver
#   gem install mysql2
#
# Ensure the MySQL gem is defined in your Gemfile
#   gem 'mysql2'
#
# And be sure to use new-style password hashing:
#   https://dev.mysql.com/doc/refman/5.7/en/password-hashing.html
#
default: &default
  adapter: mysql2
  encoding: utf8
  pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
  username: root
  password: password
  host: db

development:
  <<: *default
  database: ulapp_development

# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
test:
  <<: *default
  database: ulapp_test

# As with config/secrets.yml, you never want to store sensitive information,
# like your database password, in your source code. If your source code is
# ever seen by anyone, they now have access to your database.
#
# Instead, provide the password as a unix environment variable when you boot
# the app. Read http://guides.rubyonrails.org/configuring.html#configuring-a-database
# for a full rundown on how to provide these environment variables in a
# production deployment.
#
# On Heroku and other platform providers, you may have a full connection URL
# available as an environment variable. For example:
#
#   DATABASE_URL="mysql2://myuser:mypass@localhost/somedatabase"
#
# You can use this database configuration with:
#
#   production:
#     url: <%= ENV['DATABASE_URL'] %>
#
production:
  <<: *default
  database: ulapp_production
  username: ulapp
  password: <%= ENV['ULAPP_DATABASE_PASSWORD'] %>

自分で試したこと

パスワードをpass →password に変更。
docker-compose down、
docker-compose down -v
等をしたうえでの再起動。

0

No Answers yet.

Your answer might help someone💌