LoginSignup
4
8

More than 3 years have passed since last update.

DockerでDjangoを扱う方法

Last updated at Posted at 2019-06-08

Dockerのことと、DockerでDjangoを扱う方法をアウトプットします。

Dockerとは

Docker(ドッカー)とはDocker Inc.(旧DotCloud社)によって開発されたコンテナ仮想化ツールです。
アプリ操作をコンテナに分けて実行することや、別のOS上にコンテナを移しても動作するよう働きます。
軽快さ、保存と再利用のしやすさが一番の特徴です。
dockerイメージ
コンテナを立ち上げるために必要なミドルウェアなどの設定やコマンドが、ひとまとめになったテンプレートです。
通常はソフトウェアをインストールして、その後初期設定を行い、さらには細かな設定をカスタマイズする必要がありますが、このDockerイメージを使えばそれらの作業を省略することができます。
コンテナ
Dockerイメージをもとに作られたWebサーバやDBサーバなどが動く仮想環境のことです。
VM(Vagrant+VirtualBox)との違い
・OSのバージョンの違い、仮想環境ツールの違い、仮想環境ツールの設定の違いなどで、構築に手間がかかるということがない。
・VagrantとVirtualBoxのバージョンの相性によってバグがあるという懸念がない。
・仮想環境がコンテナ型である(VMはホストOS型)

Docker+Djangoの構築方法

Dockerを使い、「django_app」というフォルダに、「hello」というアプリケーションを作ります。

*Djangoコンテナの作成

1.Dockerfileを作成

FROM python:3
ENV PYTHONUNBUFFERED 1
RUN mkdir /code
WORKDIR /code
COPY requirements.txt /code/
RUN pip install -r requirements.txt
COPY . /code

2.requirements.txtを作成

django

3.Dockerイメージの作成

1と2で作成したファイルを「django_app」に配置した後の作業です。

$ cd django_app

以下、django_appでの作業であることに注意

docker build -t my-django-app .

*Djangoの実装

4.docker django startproject の実行

docker run --rm -v "$PWD":/code/ my-django-app django-admin.py startproject django_app .

5.docker django startapp の実行

docker run --rm -v "$PWD":/code/ my-django-app django-admin.py startapp hello

6.runserver の実行

docker run --rm -v "$PWD":/code/ -p 8000:8000 my-django-app python manage.py runserver 0.0.0.0:8000

7.http://127.0.0.1:8000 にアクセス

この画面が出ればOK
次開くときは6->7の手順。

まとめ

DockerとDjangoの操作をしました。
Dockerでコンテナを使っていない意味や、コマンドの意味はまだ理解が曖昧な部分はありますが、一応Djangoは使えます。
誤りがあればご指摘ください。

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