こんにちは、インフラエンジニアのryuです。
今回は、初心者向けにDockerでDjangoの環境を構築する方法を解説します。DjangoとはPythonのWebフレームワークです。Dockerfileを作成してDjangoのコンテナを作成します。DockerでDjango環境を構築して、自分のPCでWebアプリを開発してみましょう。
目次
DockerでDjangoの環境を作成してみよう!
DockerでDjangoの開発環境を構築しましょう!
今回の記事では、DockerでDjangoの開発環境を構築する方法を解説します。前回の記事までで、Dockerの基礎的な部分を解説しました。今回からは実践的な内容をやっていきましょう!
前回までの記事はこちら↓
Djangoの環境を構築すると以下のようなWebページが見れるようになります。今回はここまでの方法を解説したいと思います!
DockerでDjangoを構築する流れ
まずは、DockerでDjangoを構築する流れを解説します。
以下の手順で環境を構築します。
- DockerFileの作成
- Dockerイメージの作成
- コンテナ起動
この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つのファイルは同じディレクトリの中に保存しておきましょう。
コンテナを起動させてDjangoにアクセスしてみよう
Dockerfileの作成が完了してら、ビルドとコンテナ起動を実施しましょう。
まず、以下のコマンドを入力してDockerfileをビルドします。ビルドするとDockerイメージが作成されます。
docker build -t djangotest .
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 -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の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に関する講座が豊富にあります!
- セールだと1500円前後!
- 無料サンプル講義動画・無料講義動画あり!
- 気に入らなければ30日間返金保証!
DockerでDjangoの環境を構築する方法まとめ
今回の記事では、DockerでDjangoの環境を構築する方法を解説しました。まとめると以下のようになります。
- Dockerfileの作成
- Dockerfileをビルドする
- コンテナとして起動
- ブラウザでアクセスして動作確認
Dockerfileを使用してDjangoの環境を構築しました。これはDockerの基礎的な使い方なので、ぜひ覚えておきましょう。
また、当ブログではDockerのについてさらに解説しております。興味のある方はこちらからご覧ください。
さらにDockerを勉強したい方は、こちらの参考書がオススメです。