0
0

More than 1 year has passed since last update.

[Docker] unknown mysql server host 'db' (-2) と表示されるときの対処法

Posted at

環境

Docker 19.03.5
Rails 5.2.4
Ruby 2.5.3
MySQL 5.7

イントロダクション

docker-compose内でRails環境を動かそうと

docker-compose run web rails db:create

した際に以下のようなエラーが発生。


rails aborted! Mysql2::Error::ConnectionError: Unknown MySQL server host 'db' (-2)

はて、どうしたものか、、
まずは、調べて出てきたものをそのままやってみよう。

まず試してみるべきこと

「database.yml」ファイルの編集

default: &default
  adapter: mysql2
  encoding: utf8
  pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
  username: root
  password: password
  host: db

最後の行の「host: db」が「host: localhost」になっている場合は動かない。

「docker-compose.yml」ファイルの編集

volumes:
  - ./tmp/db:/var/lib/mysql/data

「docker-compose.yml」ファイルのdb部分にvolumesを追加してみる。

db部分は以下のような構造になる。

db:
  image: mysql:5.7
  environment:
    MYSQL_ROOT_PASSWORD: password
    MYSQL_DATABASE: root
  ports:
    - "3306:3306"
  volumes:
    - ./tmp/db:/var/lib/mysql/data

それでも動かない場合(最終手段)

docker rmi $(docker images -q)

docker image を一旦全削除する。

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