4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

DockerでPythonのDjangoを起動させる方法

Last updated at Posted at 2023-06-03

やりたいこと

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を作成します。

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のバージョンもここで指定出来ます。今回は最新バージョンがインストールされます。

requirements.txt
Django

docker-compose.ymlの作成

Dockerfileと同じとこに、docker-compose.ymlを作成
このファイルは、Docker Composeを使用するための設定ファイルで、複数のコンテナ間の関係や環境変数などが記述されます。

docker-compose.yml
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 .

こんな感じになります。
スクリーンショット 2023-06-03 23.16.38.png

最後にこのコマンドが成功したら終了です

docker-compose up

成功したらこんな感じの出力がされます。
スクリーンショット 2023-06-03 23.19.21.png

アクセス確認

http://localhost:8000/にアクセスして次のように表示されれば成功です。

スクリーンショット 2023-06-03 23.21.56.png

お疲れ様でした!!!

4
3
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
4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?