Django プロジェクトを Docker でデプロイする方法
Djangoプロジェクトをデプロイする場合は、Dockerを使用してコンテナーとしてデプロイできます。以下はいくつかの基本的な手順です。
- まず、DockerとDocker Composeをローカルにインストールしていることを確認します。
- Djangoプロジェクトのルートディレクトリで、Dockerfileという名前のファイルを作成し、以下を追加します。
FROM python:3.8
ENV PYTHONUNBUFFERED 1
WORKDIR /app
COPY requirements.txt /app/
RUN pip install --no-cache-dir -r requirements.txt
COPY . /app/
CMD ["python", "manage.py", "runserver", "0.0.0.0:8000"]
Python 3.8のイメージをベースに、環境変数と作業ディレクトリの設定、プロジェクトファイルと依存関係の複製、Django開発サーバの起動を行うDockerコンテナを、このDockerfileで定義します。
- docker-compose.yml
version: '3'
services:
web:
build: .
ports:
- "8000:8000"
volumes:
- .:/app
Dockerfileを利用して作成したwebというサービスを定義し、コンテナの8000ポートをローカルの8000ポートへマッピングし、プロジェクトのフォルダをコンテナの/appディレクトリへマウントします。
- ターミナルを起動し、プロジェクトのルートディレクトリに移動して、以下のコマンドを実行して Docker コンテナを開始します:
docker-compose up
これによりコンテナがビルドされて起動され、ローカルの8000ポートでDjangoアプリケーションにアクセスできるようになります。
Docker Composeを実行する前に、プロジェクトのルートディレクトリにすでにプロジェクトの依存関係を含むrequirements.txtファイルを作成してください。
これは基本的なデプロイメント例です。実際のデプロイメント手順はプロジェクトの要件と構成によって異なる場合があります。Dockerfileとdocker-compose.ymlファイルは必要に応じて変更してプロジェクトに適合させることができます。