Dockerは、Jjangoアプリを作成します
以前の投稿では、私が説明した
我々は、我々が以前に出発したピックアップをします.あなたがDockerに全く新しいならば、私は最初にチェックすることを勧めます.
我々がこのポストのために使っているスターターコードは、そうですavailable in GitHub あなたが沿って続くことを望むならば.
ファイル構造がどのように見えるかを見てみましょう.
フォルダ構造は、彼らが理解するのが難しくないので、あまりに混乱しているようではありません.
行きましょう.まず、プロジェクトのルートディレクトリを作成します
さあ、Aを作ろう
1 .
2 .
3 .
4 .
同時に、それはまた
5 .
6 .
7.
これにより、7行目を削除することができます.
8 .
今のところ、端末に行ってヒット
だから、実行してサーバーを起動することがあります
それは我々の実行にかかるすべてだ
すべてのコードはGitHub
次に、我々は追加されます
我々は、我々が以前に出発したピックアップをします.あなたがDockerに全く新しいならば、私は最初にチェックすることを勧めます.
我々がこのポストのために使っているスターターコードは、そうですavailable in GitHub あなたが沿って続くことを望むならば.
ファイル構造がどのように見えるかを見てみましょう.
├── Dockerfile
├── manage.py
├── README.md
├── requirements.txt
└── main
├── asgi.py
├── __init__.py
├── settings.py
├── urls.py
└── wsgi.py
あなたが前のポストから続いているならば、あなたは私がToDoからメインまで『主な』プロジェクトフォルダに名前を変えたのに気がつきます.これは将来のプロジェクトのためのスタートアップテンプレートとして使用するためにこのチュートリアルシリーズをスケールしたいからです.それで、私は彼らがそうすることができるのと同じくらい一般的にフォルダの名前を保つことが重要であると感じました.フォルダ構造は、彼らが理解するのが難しくないので、あまりに混乱しているようではありません.
行きましょう.まず、プロジェクトのルートディレクトリを作成します
app
既存のすべてのコンテンツをapp
フォルダーの構造になります..
├── app
│ ├── Dockerfile
│ ├── entrypoint.sh
│ ├── main
│ │ ├── asgi.py
│ │ ├── __init__.py
│ │ ├── settings.py
│ │ ├── urls.py
│ │ └── wsgi.py
│ ├── manage.py
│ └── requirements.txt
└── README.md
3 directories, 12 files
これはなぜですか.それは、我々が取り入れているからですdocker-compose
その性質によって、プロジェクトの複数のツールを管理することができます.django
彼らの1人であること.これらのツールとその設定は、それぞれのディレクトリにクリアコードと読みやすさのために行く必要があります.さあ、Aを作ろう
docker-compose.yml
ファイルがルートディレクトリに存在します.app
ディレクトリと次のコード行を書き込みます.version: "3.8"
services:
app:
build:
context: ./app
dockerfile: Dockerfile
command: python manage.py runserver 0.0.0.0:8000
volumes:
- ./app:/app
ports:
- "8000:8000"
env_file:
- ./app/.env
environment:
- DEBUG=1
コードを通して行きましょう1 .
version: "3.8"
私たちはdocker-compose
バージョン3.8 .どのように、このバージョン管理は重要ですか?これは、このポストの複雑なトピックですが、もっと知りたい場合は、チェックすることができますofficial docker website .2 .
services:
リストを作成したいtools
' 前述のようにサービス内の配列項目として.3 .
app:
それぞれの'tools
' 認識として自分の名前が必要です.app
は、django
コンテナ.あなたの代わりに何かを置くことができますapp
ライクdjango
, server
あるいはlabrador
.4 .
build:
context: ./app
dockerfile: Dockerfile
ご存知のように、各tool
' or container
Docker言語では、実行する前にビルドする必要があります.私たちは以前のポストでも学んだ.docker-compose
コンテナを構築するためにどのフォルダーを探すかを知る必要がありますapp
. したがって、当然、我々はすべてのファイルに関連するapp
コンテナへapp
フォルダとコンテキスト名を./app
, と同じapp
フォルダからdocker-compose.yml
ファイルがあります.同時に、それはまた
Dockerfile
ロケーション.したがって、名前と場所は、context
. 我々は、複数のDockerfile
後のsは、それで、それを覚えやすい場所で彼らを持つのが便利です5 .
command: python manage.py runserver 0.0.0.0:8000
あなたがわかるならばDjango
, これはただの基準だrun
あとでサーバを起動するときにしたいコマンド.6 .
volumes:
- ./app:/app
The volumes
マッピングは、コンテナ内のフォルダにローカルフォルダをマップすることができます.あなたが調べるならばDockerfile
, フォルダ名を作成しましたapp
. コンテナとローカルシステム内のフォルダーは、このコマンドに同期したままです.また、ローカルシステムで何かを変更するたびにサーバのホットリロードをトリガします.また、すべてのコード変更でサーバーを再起動する必要があります.7.
ports:
- "8000:8000"
前の記事と同じように、我々はローカルポート8000をコンテナのポート8000にマップしてサーバーにアクセスしたい.これにより、7行目を削除することができます.
EXPOSE 8000
および8 .CMD ["python", "manage.py", "runserver", "0.0.0.0:8000"]
以来、両方の現在管理されてdocker-compose
ここで.8 .
env_file:
- ./app/.env
environment:
- DEBUG=1
両方env_file
and environment
環境変数をコンテナに設定するために使用できます.environment
変数がpublicであるとき、sは好まれますenv_file
sgit-ignored
, などのプライベート環境変数を設定するために使用することができますsecret-keys
, tokens
さらにpasswords
. 後で使用する方法を調べます.今のところ、端末に行ってヒット
docker-compose build
万事うまくいったら、今見てもいいSuccessfully built
端末で.だから、実行してサーバーを起動することがあります
docker-compose up
私たちは今、この美しい画面で提示する必要がありますlocalhost:8000
我々のブラウザで.それは我々の実行にかかるすべてだ
django
プロジェクトdocker-compose
. それは得ることができるように簡単です.すべてのコードはGitHub
次に、我々は追加されます
postgres
データベースとnginx
セットアップにプロキシを逆にし、どのようにDockerを構成するシステムをスケーリングすることができますをご覧ください.Reference
この問題について(Dockerは、Jjangoアプリを作成します), 我々は、より多くの情報をここで見つけました https://dev.to/mahyess/docker-compose-ing-a-django-app-for-complete-starters-26cテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol