【Django✖️Docker】DB_HOSTでエラーになる場合の対処法

【Django✖️Docker】DB_HOSTでエラーになる場合の対処法を解説
  • URLをコピーしました!

こんにちは、みるちゃ(@milcha_on)です!!

仕事でもDockerを使用して開発を進めていたこともあったのですが、自分で構築した事はなく、今回が1からの環境構築になります。

前々から触ってみたかったんだけど、忙しくて触る機会がなく、かなり遅くなってしまいました(泣)

今までDjangoもSQLiteを利用していて、そこまで設定関係もいじっていませんでしたが、今回はPostgreSQLをDocker上で構築して利用することにしました。

DBのアクセス情報などを設定して、

python manage.py runserver

を実行すると、

django.db.utils.OperationalError: could not translate host name "DB_HOST" to address: Name or service not known

このエラーが出ました。

めちゃくちゃ時間かかったけど、よくよく考えたら触ってるのはDocker上の開発環境なのでcompose.ymlのDB設定もDB_HOST=localhostにしないといけないんですね。

service:
  backend:
    environment:
      - ENVIRONMENT=${ENVIRONMENT}
      - POSTGRES_DB=${POSTGRES_DB}
      - POSTGRES_USER=${POSTGRES_USER}
      - POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
      - DB_HOST=${DB_HOST} #この部分にlocalhostにする

上記はenvファイルから読み込んでいるため、DB_HOST=localhostにすれば問題なくDjangoサーバが起動します。

超初歩的エラーだったかもしれません笑

Dockerを触り始めた方などの解決策になればいいなと思います。

よかったらシェアしてね!
  • URLをコピーしました!
目次