空のディレクトリに以下のファイルを作成。
- 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 down →
docker-compose run web django-admin startproject composeexample .
manage.py が既に存在しているのでスタートプロジェクトが作れないらしい。
↓
一度、プロジェクト作成からやり直し再度実行
コンテナを起動できたっぽい。