ジャンゴレストフレームワークの クイックスタートプロジェクト を ドッカー構成ランで作って 上で動かす
作業ディレクトリを作る
普段使っている作業ディレクトリ置くところの
//コード
に
//コード/REST 4/
として作成
Dockerfileを作成
Dockerfileというテキストファイルを作って
中身に
FROM python:3
ENV PYTHONDONTWRITEBYTECODE=1
ENV PYTHONUNBUFFERED=1
WORKDIR /code
COPY requirements.txt /code/
RUN pip install -r requirements.txt
COPY . /code/
このファイルを書く.中身を解説していく.言語
FROM python:3
Python 3を使用環境変数 -- Pythondontwritebytecode , Pythonunbuffered
ENV PYTHONDONTWRITEBYTECODE=1
https://devlights.hatenablog.com/entry/2018/02/23/124719Pythonはバイトコードを書かない
邪魔な
__pycache__
を作成しないようにするENV PYTHONUNBUFFERED=1
https://docs.python.org/3.5/using/cmdline.html#envvar-PYTHONUNBUFFERED0にセットされてると -Uと同じ、この説明は意味不明
https://qiita.com/amazipangu/items/bce228f506f894cd825d#%E5%88%9D%E6%9C%9F%E8%A8%AD%E5%AE%9A
ドック環境作成中の無駄な標準入出力を無効化すると解釈.
REST 4内部の作業ディレクトリを作成
WORKDIR /code
COPY requirements.txt /code/
RUN pip install -r requirements.txt
COPY . /code/
関連項目のディレクトリを作って使用ディレクトリに設定REST 4/要件txtを
REST 4/コード/要件.txtにコピー
使用ディレクトリの REST 4/コード/要件.txtから
強制的に PIPのインストールで中身のライブラリをオンラインでダウンロード
作業ディレクトリの内容を/コードから一つ前にコピー
参考
要件txtを作成
Django>=3.0,<4.0
psycopg2-binary>=2.8
djangorestframework>=3.11.0,<3.12.0
各ライブラリを指定参考
Dockerの作成気象研を作成
version: "3.9"
services:
db:
image: postgres:12
volumes:
- ./data/db:/var/lib/postgresql/data
environment:
- POSTGRES_DB=postgres
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=postgres
web:
build: .
command: python manage.py runserver 0.0.0.0:8001
volumes:
- .:/code
ports:
- "8002:8001"
depends_on:
- db
ポート6000で起動参考
ドッカー構成ランで ウェブ部分の ジャンゴアドミンを使って REST 4という名前の ジャンゴプロジェクトを . の現在地に作る
sudo docker-compose run web django-admin startproject rest4 .
Step 7/7 : COPY . /code/
---> 57d82f068b23
Successfully built 57d82f068b23
Successfully tagged rest4_web:latest
Creating rest4_db_1 ... done
Creating rest4_web_run ... done
プロジェクトが無事に作成されたデータ/DB/pgnum/
注意パイ
管理する.パイ
などが コード/RESTAT 4/の配下に作成されているのを確認できる.
参考
REST 4/RESTAT 4/設定パイの データベースに Postgresを登録
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'postgres',
'USER': 'postgres',
'PASSWORD': 'postgres',
'HOST': 'db',
'PORT': 5432,
}
}
参考ドッカー合成で 起動
docker-compose up
web_1 | January 10, 2022 - 06:06:44
web_1 | Django version 3.2.11, using settings 'rest4.settings'
web_1 | Starting development server at http://0.0.0.0:8001/
web_1 | Quit the server with CONTROL-C.
これで 仮想環境側の 8001に 8002からアクセスできた.
Reference
この問題について(ジャンゴレストフレームワークの クイックスタートプロジェクト を ドッカー構成ランで作って 上で動かす), 我々は、より多くの情報をここで見つけました https://dev.to/kaede_io/django-rest-nohuan-jing-wo-docker-compose-dezuo-ru-28kiテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol