やりたいこと
DockerでPythonのフレームワークであるDjangoを起動させる
参考にした記事
https://docs.docker.jp/compose/django.html
https://it-dxblog.com/django-docker/
前提条件
Dockerインストール済み
docker-compose コマンドを利用できること
開発端末
MacBook Air M2チップ(macos Ventura 13.4)
コード
ソースコードをGitHubにアップロードしておりますので、ご参照ください。
https://github.com/kazunobu2022/docker-django-sample
Dockerfileの作成
適当なディレクトリを作成し、その配下にDockerfileを作成します。
FROM python:3
ENV PYTHONUNBUFFERED 1
RUN mkdir /code
WORKDIR /code
RUN pip install --upgrade pip
RUN pip install Django
# 依存パッケージをrequirements.txtに記述
ADD requirements.txt /code/
RUN pip install -r requirements.txt
COPY . /code/
requirements.txtの作成
Dockerfileと同じとこに、requirements.txtを作成
このファイルは Dockerfile 内の RUN pip install -r requirements.txt というコマンドにおいて利用されます。
ファイル中に必要なソフトウェアを記述します。Djangoのバージョンもここで指定出来ます。今回は最新バージョンがインストールされます。
Django
docker-compose.ymlの作成
Dockerfileと同じとこに、docker-compose.ymlを作成
このファイルは、Docker Composeを使用するための設定ファイルで、複数のコンテナ間の関係や環境変数などが記述されます。
version: '3'
services:
web:
build: .
command: python manage.py runserver 0.0.0.0:8000
volumes:
- .:/code
ports:
- "8000:8000"
コマンド実行
コンテナを起動させ、bashでコンテナの中に入ります
docker compose run --rm web bash
コンテナの中でDjangoプロジェクトを作成します。
django-admin startproject config .
最後にこのコマンドが成功したら終了です
docker-compose up
アクセス確認
http://localhost:8000/
にアクセスして次のように表示されれば成功です。