DjangoをDockerのドキュメントを見て環境構築
Docker自体はqiitaの記事を見て環境構築したことがあるが、ドキュメントが存在し、それ通りにやったら案外かんたんにできてしまったのでメモ。 引っかかったところはsettings.pyのデータベースのセッティングだったのでそこを中心にメモしておく。
ドキュメント;
クィックスタート: Compose と Django — Docker-docs-ja 19.03 ドキュメント
これ通りやると、動かない。データベースの接続にはpassword等の値とsettings.pyの設定値を対応させるためにdocker-compose.ymlにenviriionmentを定める。
# settings.py DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql', 'NAME': 'postgres', 'USER': 'postgres', 'HOST': 'db', 'PORT': 5432, 'PASSWORD': 'postgres', } }
DATABASEの名前はpostgres, userはpostgres, passwordはpostgres。これを起動するコンテナに設定しないとdbに接続できなくてエラーが出てしまう。
// dokcer-compose.yml version: "3" services: db: image: postgres ports: - "5432" environment: - POSTGRES_DB=postgres - POSTGRES_USER=postgres - POSTGRES_PASSWORD=postgres web: build: . command: python3 manage.py runserver 0.0.0.0:8000 volumes: - .:/code ports: - "8000:8000" depends_on: - db