Docker

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

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

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

サーバー構築を実践で身につけるInfraAcademy

※本ページには、プロモーション・アフィリエイトリンクが含まれています

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を作成します。

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

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のバージョンを定義しておきます。

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起動

ディレクトリの内部は以下のようになります。

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

以上でDjangoの環境を構築する方法の解説は終わりです。

Dockerについてさらに勉強したい方はUdemyがおすすめ

Dockerについてさらに勉強したい方はUdemyがおすすめです。UdemyはITの講座が豊富にあるサイトです。参考書での勉強が苦手な方にはおすすめです。

以下のように、Dockerに関する講座が豊富にあります!

Udemyがおすすめな理由
  1. セールだと1500円前後!
  2. 無料サンプル講義動画・無料講義動画あり!
  3. 気に入らなければ30日間返金保証!

UdemyでDockerの講座を探す

DockerでDjangoの環境を構築する方法まとめ

今回の記事では、DockerでDjangoの環境を構築する方法を解説しました。まとめると以下のようになります。

  • Dockerfileの作成
  • Dockerfileをビルドする
  • コンテナとして起動
  • ブラウザでアクセスして動作確認

Dockerfileを使用してDjangoの環境を構築しました。これはDockerの基礎的な使い方なので、ぜひ覚えておきましょう。

また、当ブログではDockerのについてさらに解説しております。興味のある方はこちらからご覧ください。

Docker入門講座一覧

さらにDockerを勉強したい方は、こちらの参考書がオススメです。

ABOUT ME
ryu@InfraAcademyというインフラ学習サービス運営
大手企業→上場ベンチャー→スタートアップでエンジニアをしていました。 インフラエンジニア歴10年以上。 Linuxやネットワークの学習ができるサービスInfraAcademyを運営中。
RELATED POST