1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

dockerでmysqlコンテナが立ち上がらない

Last updated at Posted at 2023-03-10

エラー文 

[ERROR] [Entrypoint]: MYSQL_USER="root", MYSQL_USER and MYSQL_PASSWORD are for 
configuring a regular user and cannot be used for 
the root user Remove MYSQL_USER="root" and use one of the following to control the root user password:
    - MYSQL_ROOT_PASSWORD
    - MYSQL_ALLOW_EMPTY_PASSWORD
    - MYSQL_RANDOM_ROOT_PASSWORD

該当のソースコード 

docker-compose.yml
version: "3"
services:
  web:
    container_name:  sample_app_local
    build: .
    command: bash -c "rm -f tmp/pids/server.pid && bundle exec rails s -p 3000 -b '0.0.0.0'"
    volumes:
      - .:/myapp
    ports:
      - "3000:3000"
    depends_on:
      - db
  
  db:
    image: mysql:5.7
    volumes:
      - mysql-data:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: password
      MYSQL_PASSWORD: password
      MYSQL_USER: root
    ports:
      - 3306:3306

volumes:
  mysql-data:

原因 

docker-compose.ymlファイルでMYSQL_USER: rootを設定していたから。 
MYSQL_USERは通常のユーザーを作成するためのもので、rootユーザーには使用できない。 
また、rootユーザーはmysql構築時に作成されている。

解決 

MYSQL_USER: rootを削除、またはMYSQL_USER: userを設定する。

MYSQL_USER: userを設定した場合、MYSQL_PASSWORDの設定も必要になります。
また、mysqlはrootユーザーで作成されているため、MYSQL_USER: userだと権限がなくアクセス時にエラーが出る。その際には権限の設定が必要になる。

参考サイト 

【Docker】Mysql が立ち上がらない(ユーザ設定エラー)
MYSQL_ROOT_PASSWORDを付け足したのに解決しない
Ruby on Rails 6のDocker環境構築

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?