Dockerを用いてDjangoの開発環境を構築してみる

カテゴリ:Pythonの話

公開日:2020.09.11 最終更新日:2023.08.09
このエントリーをはてなブックマークに追加

はじめに

こんにちは!
インターン生として新しく開発チームに入りました戸川です。

最近はインフラにとても興味があって、現場でよく使われていると聞くDockerについて学んでいこうと思います。

また、株式会社inglowではWebプロモーション成功事例集をまとめた限定資料を無料で配布しています。

Webマーケティングに興味がある方は、下記ページより目を通してみてください。

Dockerとはコンテナ型の仮想環境を作成・配布・実行できるプラットフォームとのことです。Dockerを使えばWebアプリケーションだけでなくサーバーの設定などのインフラもまとめて管理できて、かつバージョンやOSの差を気にすること無く環境の構築ができるというメリットがあります。

ちなみにPythonの仮想環境としばしば比較されることがありますが、Pythonの仮想環境はあくまでPythonの依存関係のみをカプセル化し、DockerはOS全体をカプセル化するという違いがあります。

今回のような小さいアプリだとPythonの仮想環境を使ったほうがむしろ楽かもしれませんが、Dockerに慣れるためにあえてこちらを選択してDjango + PostgreSQLなアプリケーションを作っていきます。

Docker for Mac/Windowsをインストール

公式サイトからDockerアカウントを登録し、Docker desktop for Mac/Windowsをインストールします。

インストールできたら次のコマンドで動作するか確認します。

ここで確認したdocker-composeは、いくつかのコンテナをまとめて構築・実行できるものです。

適当なディレクトリに移ります。

ディレクトリ直下に次の3つのファイルを作成します。

  • Dockerfile
  • docker-compose.yml
  • requirements.txt

Dockerfileの中身を次のように書きます。

requirements.txtに必要なソフトウェアを記述します。

docker-compose.ymlには各サービスの構成定義を書きます。

volumesの記述をしてあげることでデータベースの中身を永続化しています。

プロジェクトの作成

$ docker-compose run web django-admin.py startproject dockerblog .とコマンドを打ちDjangoプロジェクトを開始します。

成功したら各ファイルが生成されます。

データベースに接続するためにdockerblog/settings.pyのDAEABASESについて次のように書き換えます。

$ docker-compose up -dでコンテナの構築・起動しましょう!
-dオプションでデタッチモードで起動してくれます。

できました!
$ docker psコマンドで起動しているコンテナを確認できます。

$ docker-compose exec <service> <command>で起動中のコンテナに対してコマンドを打てます。

blogアプリケーションを作成する場合は次の通り

作業を中断する場合には

$ docker-compose stop

再開する場合には

$ docker-compose restart

で再びコンテナを起動できます。

おわりに

以上がDjangoの開発環境をDockerに乗せる方法でした!

今回はアプリケーションとデータベースを簡単に扱っただけなのでDockerの便利さをそこまで感じることが出来なかったかもしれません。

実際には求める環境に近いDockerイメージをDocker Hubからダウンロードして自分好みの環境を作れたり、コンテナをそのまま本番サーバーにデプロイすることが出来たりと多くのメリットを持っています!

これからもインフラについて色々勉強していきますが、最近よく扱うAWSについてもっと体系的に学んでみようと思っています。

SAAというAWSについての資格取得を一つの目標に頑張っていきます!

またwebで集客する方法を別の記事にまとめております。

詳しく解説しているので、web集客について深く知りたい方は、ぜひこちらもご覧ください。

web集客
【2023年更新】Web集客の方法と種類を無料・有料別に紹介!
今回の記事を読むことで、Web集客をして、実際に売上を伸ばすための最適な方法をご紹介します。





弊社inglowでは、これから広告の運用を考えられている方、あるいはこれから広告代理店に運用をお願いされる方向けに、「業界別Web広告の成功事例」をまとめた資料を無料配布しております。

下記のフォームに入力いただくだけで、無料で資料をダウンロードしていただけます。ぜひご利用下さい。

mihon

    このサイトはreCAPTCHAとGoogleによって保護されています。プライバシーポリシー利用規約が適用されます。

    一覧へ戻る