背景デザイン画像1 背景デザイン画像2

Portfolio

DockerでDjangoの環境構築をする

MENU

 概要 

Docker で Django を使えるように環境構築します。

Django は python を用いたアプリ開発で使用するフレームワークです。
Django ドキュメント

環境構築は以下のサイトを参考にします。
クィックスタート: Compose と Django

 手順

空のディレクトリに以下のファイルを作成。
  • Dockerfile

  • docker-compose.yml

  • requirment.txt


以下を実行してDjangoプロジェクトを起動。
docker-compose run web django-admin.py startproject composeexample .



python3.11では消されているライブラリがあるらしいのでバージョンを落として以下を実行
docker-compose build



再度以下を実行
docker-compose run web django-admin.py startproject composeexample .



最終的なフォルダ構成はこうなった。



composeexample ディレクトリの中



ファイルをインストールできたのでcomposeexample/settings.pyに以下を記述。

データベースの接続設定を定義する。



保存しようとしたら以下のエラーが発生



管理者以外はファイル内容を変更できない状態なので保存できないみたいです。


現在、composeexample の権限は以下のとおり。

d - rwx - r-x - r-x
  • ディレクトリ

  • 管理者 → 読み込み、書き込み、実行可能

  • 内部関係者 → 読み込み、実行可能

  • 第三者 → 読み込み、実行可能
管理者以外は書き込みができないので権限を変更する必要があるっぽい


以下を実行してみる
sudo chmod -R 777 /home/ubuntu/github/Othello/composeexample



「-」 → 「w」 に変更されて保存できました。

ここは以下のサイトを参考にしています。
ファイルやフォルダのパーミッションやアクセス権限を設定する「chmod」コマンド(設定値編)

メモ
別の方法として、 sudo chown -R $USER:$USER . で root 権限自体を無くしてしまう方法もある。


データベースの設定が反映されたので以下のコマンドでコンテナを起動してみる。
docker-compose up



わけが分からずググって検索

結論 → パスワードの設定が必要。


パスワードを設定して再度以下を実行
docker-compose up



しかし、途中で動かなくなってしまった。


以下のコマンドで再度実行
docker-compose downdocker-compose run web django-admin startproject composeexample .



manage.py が既に存在しているのでスタートプロジェクトが作れないらしい。

一度、プロジェクト作成からやり直し再度実行



コンテナを起動できたっぽい。

 動作確認 

localhost8000 に接続。



Docker上でDjangoを使用できるようになりました。