【開発環境構築】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 にアクセスし、下記の画面を確認できたら終了です。

参考サイト : https://docs.docker.jp/compose/django.html

【開発環境構築】Docker/Django/PostgreSQL ※備忘録用” に対して2件のコメントがあります。

  1. コム吉 より:

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

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です