1
1

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 3 years have passed since last update.

初学者がDockerを使ってDjangoアプリをgunicorn上で動作させる

Last updated at Posted at 2021-02-23

概要

Dockerを使ってDjangoアプリをgunicorn上で動作させたいと思います。話を簡単にするため、Djangoアプリは作成せず、ロケットが飛ぶ例の画面を表示させるだけにしたいと思います。

何分にも初学者ですので間違っている部分もあると思いますが、よろしくお願いします。m(_ _)m

Dockerfileを作成する

# python3をベースにする
FROM python:3

WORKDIR  /code
COPY requirements.txt /code/
RUN pip install -r requirements.txt

requirements.txtを作成する

Django==2.2.6
gunicorn

docker-compose.ymlを作成する

version: '3'

services:
  web:
    build:
      context: .
      dockerfile: Dockerfile
    container_name: django
    ports:
      - '8000:8000'
    volumes:
      - '.:/code'
    tty: true
    stdin_open: true

docker imageをビルドして、コンテナを立てる

$ docker-compose up -d

コンテナの中に入る

$ docker-compose exec web bash

Djangoプロジェクトを作成する

$ django-admin startproject conf .

一旦、開発用サーバーを起動してみる

$ python manage.py runserver 0.0.0.0:8000

ブラウザを開き、localhost:8000にアクセスします。ロケットが飛んでいればOKです。
スクリーンショット 2021-02-23 11.43.02.png

ターミナルに戻ってCtrl+cを押下し、開発用サーバーを停止させる。

gunicorn上でDjangoアプリを動作させる

開発用サーバー上で動くことが確認できたので、今度はgunicorn上で動作させたいと思います。

$ gunicorn --bind 0.0.0.0:8000 conf.wsgi:application

ブラウザを開き、localhost:8000にアクセスします。ロケットが飛んでいればOKです。見た目は開発用サーバーと同じですが、gunicorn上でDjangoアプリが動作しているはずです。

スクリーンショット 2021-02-23 11.43.02.png

1
1
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
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?