【開発環境構築】Docker/Django/PostgreSQL ※備忘録用
はじめに
最近実務にDockerを取り入れました。
今更、、、と思う方もいらっしゃるかもしれませんね。。。
手順をまとめたのでご参考まで。
使用技術:
Docker Django PostgreSQL VSCode
最終的なソースコード
★docker-compose.yml
version: '3'
services:
db:
image: postgres
environment:
- POSTGRES_DB=postgres
- POSTGRES_USER=root
- POSTGRES_PASSWORD=password
volumes:
- postgres_data:/var/lib/postgresql/data
web:
build: .
command: python3 manage.py runserver 0.0.0.0:8000
volumes:
- .:/code
ports:
- "8000:8000"
depends_on:
- db
volumes:
postgres_data:
★Dockerfile
FROM python:3
ENV PYTHONUNBUFFERED 1
RUN mkdir /code
WORKDIR /code
ADD requirements.txt /code/
RUN pip install -r requirements.txt
ADD . /code/
★requirements.txt
Django
psycopg2
導入の流れ
1.ディレクトリ作成
2.プロジェクト直下に3つのファイルを作成(docker-compose.yml、Dockerfile、requirements.txt)
3.Djangoプロジェクトの作成
4.コンテナ作成/起動
※事前にdocker,docker-composeのインストールが必要です。
1.ディレクトリ作成
作成場所はどこでもいいです。
今回は、docker-djangoという名称で作ります。
Linuxコマンドで作る場合、
mkdir docker-django && cd docker-django
カレントディレクトリで上記コマンドを打てば、作成&作成したフォルダへ移動が一行でできます。
2.プロジェクト直下に3つのファイルを作成(docker-compose.yml、Dockerfile、requirements.txt)
docker-django直下で、
touch docker-compose.yml Dockerfile requirements.txt
上記コマンドで、docker-django直下に3ファイルが作成されます。
VSCodeで確認

3.Djangoプロジェクトの作成
docker-compose run web django-admin.py startproject dockerblog .
上記のコマンドで、djangoのプロジェクトが作成されます。「dockerblog」がプロジェクト名になります。
docker-compose.ymlファイルでdbコンテナを作っているので、dockerblog内でpostgreSQLの接続設定が必要です。
★docker-django/dockerblog/settings.py
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'postgres',
'USER': 'root',
'PASSWORD': 'password',
'HOST': 'db',
'PORT': 5432,
}
}
4.コンテナ作成/起動
docker-compose up -d
上記コマンドで、コンテナの作成&起動を行います。-dオプションにより、バックグラウンド処理になります。
エラーが見えなくなるので、初学者のうちは、-dオプションはつけないことをおすすめします。
最後に、ブラウザで localhost:8000 にアクセスし、下記の画面を確認できたら終了です。

PC表示時 サイドバー の横幅が変ですよー