Docker

【初心者向け】DockerでDjangoの環境を作成してみよう!【Docker入門⑧】

こんにちは、インフラエンジニアのryuです。

今回は、初心者向けにDockerでDjangoの環境を構築する方法を解説します。DjangoとはPythonのWebフレームワークです。DockerでDjango環境を構築して、自分のPCでWebアプリを開発してみましょう。

DockerでDjangoの環境を作成してみよう!

DockerでDjangoの開発環境を構築しましょう!

今回の記事では、DockerでDjangoの開発環境を構築する方法を解説します。前回の記事までで、Dockerの基礎的な部分を解説しました。今回からは実践的な内容をやっていきましょう!

前回までの記事はこちら↓

Djangoの環境を構築すると以下のようなWebページが見れるようになります。今回はここまでの方法を解説したいと思います!

Djangoのページ

DockerでDjangoを構築する流れ

まずは、DockerでDjangoを構築する流れを解説します。

以下の手順で環境を構築します。

  1. DockerFileの作成
  2. Dockerイメージの作成
  3. コンテナ起動

この3つの手順です。このようなイメージです。

Dockerfileでpythonを定義して、Djangoをインストールします。Dockerfileが完成したら、ビルドしてイメージを作成して、起動させます。手順は前回までの記事と同じで、Dockerファイルの中身が変わります。

DjangoのDockerfileを作成する

では、早速やっていきましょう。

まず、開発環境の基となるDockerfileを作成します。

ファイルの中身は以下の通りです。

・Dockerfile

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

Dockerfileの中身の詳しい説明は後半で行います。

ここでpythonのパッケージをインストールするために”requirements.txt”ファイルが必要です。以下の内容で作成しておきましょう。インストールするDjangoのバージョンを定義しておきます。

・requirements.txt

Django==3.0.7

2つのファイルは同じディレクトリの中に保存しておきましょう。

Dockerfileの作成

コンテナを起動させてDjangoにアクセスしてみよう

Dockerfileの作成が完了してら、ビルドとコンテナ起動を実施しましょう。

まず、以下のコマンドを入力してDockerfileをビルドします。ビルドするとDockerイメージが作成されます。

docker build -t djangotest .

dojangoのdockerイメージをビルド

Dockerをビルドしたら、”docker run”コマンドを入力します。

次に入力するのは、djangoで最初のプロジェクトを作成するコマンドです。

docker run -v C:\User\user\Desktop\docker:/code djangotest django-admin startproject mysite .

//コマンド説明
・-v →ローカルPCのディレクトリとDockerコンテナのディレクトリを紐づけ
・djangotest →先ほど作成したDockerイメージの指定
・django-admin admin startproject mysite .→Djangoで最初に入力するコマンド  Dockerイメージの後にイメージで実行するコマンドを指定する

以下のようにコマンドを実行すると、ローカルPCにDjangoのファイルが作成されます。”manage.py”や”mysite”が作成されることを確認しましょう。

docker runでdjango起動

最後に、もう一度”docker run”コマンドを入力して、Djangoを起動させます。

docker run -v C:\Users\user\Desktop\docker:/code -d -p 8000:8000 djangotest python manage.py runserver 0.0.0.0:8000

これで、完了です。

Webブラウザで、「http://127.0.0.1:8000」とアクセスしてみましょう。djangoのページが表示されました!

djangoへアクセス

DjangoのDockerfile解説

ここからは、先ほど作成したDockerfileの中身を解説したいと思います。

先ほど作成したDockerfileの中身は以下の通りです。

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

では、このファイルでどのような動作をしているのか解説します。

Dockerファイルで使われるコマンド

まず、Dockerファイルで使われるコマンドの解説です。ファイルの左側に”FROM”とか”RUN”で書かれている物です。

今回使われているものはこちらです。

  • FROM
  • RUN
  • WORKDIR
  • COPY

これらのコマンドは以下のような動作をします。

  • FROM →イメージの基となるイメージを指定
  • RUN  →コンテナでコマンドの実行
  • WORKDIR →作業するディレクトリの指定
  • COPY →コピー

では、これを踏まえて、先ほど作成したDockerfileがどのような動作をしているのか確認しましょう。

Dockerファイルの動作を確認

次にDockerファイルの中身を理解していきましょう。

  • FROM python:3 →Pythonのイメージから作成
  • RUN mkdir /code → コンテナで/codeディレクトリ作成
  • WORKDIR /code → /codeで作業
  • COPY requirements.txt /code →ローカルPCのファイルを/codeにコピー(requirements.txtは-vで指定したフォルダにある)
  • RUN pip install -r requirements.txt → pythonパッケージのインストール
  • COPY . /code/ → ローカルPCのファイルをコピー

このように、Dockerfileでディレクトリを作成したり、必要なパッケージをインストールしたりしています。

Dockerfileの詳しい内容は、こちらのドキュメントをご覧ください。

https://docs.docker.jp/engine/reference/builder.html

今回の解説はこれで終わりです。

ABOUT ME
ryu
大手メーカのIT部門でインフラエンジニアやってます。 サーバ、ネットワーク、セキュリティ、クラウドについて投稿します。 AI、ARも勉強中です! youtubeでも技術ネタを発信していきます。↓のアイコンよりご覧ください!