0
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 3 years have passed since last update.

dbコンテナだけが立ち上がらないdocker-compose build

Posted at

laravel + dockerでやっていたプロジェクト。

最近dockerをリフレッシュしてコンテナが消えたので環境構築をし直す機会がありました。

いつもどおりgitリポジトリから
git clone リポジトリURL
docker-compose build
docker-compose up
とコマンドを入れていく

データベースコンテナだけが起動に失敗している。
エラーログを見ると


MYSQL_USER="root", MYSQL_USER and MYSQL_PASSWORD are for configuring a regular user and cannot be used for the root user zac_db | Remove MYSQL_USER="root" and use one of the following to control the root user password:

というエラーが出ていた。

以前と同じやり方なのになんで?

英語力低いのでちょっと何言ってるのかわからないですね状態なので、取り敢えずgoogle翻訳にかけてみる

mysql_user = "root"、mysql_user、およびmysql_passwordは、通常のユーザーを構成するためのものであり、rootユーザーには使用できません。 mysql_user = "root"を削除し、次のいずれかを使用してrootユーザーのパスワードを制御します。

???

はい?

取り敢えずrootという名前がだめらしい?

結論

rootを消してみた。

docker-compose.ymlのrootを

docker-compose.yml

  # db
  db:
    image: mysql:5.7.33
    container_name: database
    environment:
      MYSQL_ROOT_PASSWORD: root
      MYSQL_DATABASE: laravel
      MYSQL_USER: root
      MYSQL_PASSWORD: root
      TZ: 'Asia/Tokyo'

以下に変更。rootをroot2に変更

docker-compose.yml

  # db
  db:
    image: mysql:5.7.33
    container_name: database
    environment:
      MYSQL_ROOT_PASSWORD: root2
      MYSQL_DATABASE: laravel
      MYSQL_USER: root2
      MYSQL_PASSWORD: root2
      TZ: 'Asia/Tokyo'

通った。
database起動!

よくわからないが最近の仕様変更でrootを使用できなくなったらしい。root以外にすれば大丈夫そう。

なんでやねん
(セキュリティー的な問題?)

調べたら同じような症状で躓いている人が多そう。MySQLのDockerイメージが更新されたことが原因らしい

0
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
0
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?