Docker を使用して Django プロジェクトをデプロイする方法の例

Docker を使用して Django プロジェクトをデプロイする方法の例

また、Dockerを使用してDjangoプロジェクトをデプロイするのも非常に簡単です。とても良いです。以下で共有してください。

環境

デフォルトでは、docker環境がインストールされています

Djangoプロジェクトの一般的な構造

(p3s) [root@opsweb]# ツリー opsweb
オプスウェブ
├── アプリ
├── ログ
├── manage.py
├── メディア
├──オプスウェブ
├── README.md
├── 要件.txt
└── 静的

Dockerfileの作成

ここでは、Python のバージョンは Docker が公式に提供しているものを指定します。

「0.0.0.0:8000」ここでコンテナのポート8000​​を開きます。FROM python:3.6
mkdir -p /usr/src/app を実行します。
pip.conf をコピー /root/.pip/pip.conf
opsweb /usr/src/app/ をコピーします
コピー run_web.sh /usr/src/app/
pip install -r /usr/src/app/requirements.txt を実行します。
ワークディレクトリ /usr/src/app
コマンド [ "sh", "./run_web.sh"]

pipファイルの書き込み

ここでは、Alibaba Cloudソースを使用してミラーpipをより速くインストールする方法を説明します。

[グローバル]
インデックス URL = http://mirrors.aliyun.com/pypi/simple/
[インストール]
信頼できるホスト = mirrors.aliyun.com

完全なディレクトリ構造

[ルート@opsweb]# ls
Dockerファイル opsweb pip.conf run_web.sh

イメージをビルドする

ビルドは -t ops:v0.1 です。
ビルド コンテキストを Docker デーモンに送信しています 4.849 MB
ステップ1: python:3.6から
 ---> 3e4c2972dc8d
ステップ2: mkdir -p /usr/src/appを実行します
 ---> 8ddd929f5c18 で実行中
 ---> 89dc0a1ffdf0
中間コンテナ 8ddd929f5c18 を削除しています
ステップ3: pip.confをコピーする /root/.pip/pip.conf
 ---> 5a4a165fed90
中間コンテナ 37f3fdc7e5d2 を削除しています
ステップ4: opsweb /usr/src/app/opsweb をコピーする
 ---> f602e72ffd4c
中間コンテナ 8d4bb616916d を削除しています
ステップ 5: opsweb/requirements.txt を /usr/src/app/ にコピーします。
 ---> 6fe11a6fcbe0
中間コンテナ faeadee32fed を削除しています
ステップ6: pip install -r /usr/src/app/requirements.txtを実行します。
 ---> cc09c17d53da
中間コンテナ d7b45bec6993 を削除しています
ステップ7: WORKDIR /usr/src/app
 ---> c22dfdddbe81 で実行中
 ---> c5c944b6df45
中間コンテナ c22dfdddbe81 を削除しています
ステップ 8: CMD python ./manage.py runserver 0.0.0.0:8000
 ---> 29d5f0f53f6e で実行中
 ---> 10d37173fd13
中間コンテナ 29d5f0f53f6e を削除しています
10d37173fd13 の構築に成功しました

結論

このようにしてイメージが構築され、docker run -p8000:8000 ops:v0.1 -d で直接起動したり、k8s にデプロイしたりできます。これも非常に簡単なので、ここでは詳細には触れません。

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Django ログ設定を日付順にロールする方法
  • クロスドメインリクエストの問題に対する Django のソリューションの詳細な説明
  • Django でスケジュールされたタスクを設定する方法
  • Djangoを紹介します
  • Djangoを使用してMysqlデータベースに接続する手順
  • Django フレームワーク テンプレートの紹介
  • Djangoは、ログインとアクセス制御を制御するミドルウェア方式を実装しています。
  • k8sを使用してDjangoプロジェクトをデプロイする手順
  • Django データベースのデータ関係: 1 対 1、1 対多、多対多
  • Django 2.0 拡張ユーザーフィールドの例

<<:  Linux オペレーティング システムでよく使用される MySQL コマンドの概要

>>:  Vue.js でフォントを読み込む正しい方法

推薦する

HTMLの水平線注釈とコードコメントの使い方をマスターするだけです

水平線<hr /> タグを使用して、現在の位置に水平の分割線を描画します。例: XML/...

MySQL全文検索の使用例

目次1. 環境整備2. データの準備3. ショーを始める4. 単語分割エンジン要約する参考文献1. ...

HTML でのメタタグと使用法の詳細な説明

これ以上無駄話をして時間を無駄にしないので、今日の話題を始めましょう。 HTML のメタタグ1. メ...

mysql 8.0.16 winx64 および Linux でルート ユーザーのパスワードを変更する方法

データベースへの接続などの基本的な操作はご自身で行ってください。この記事ではパスワードの変更方法を中...

CentOS7 での MySQL 8.0.16 のインストールと設定のチュートリアル

MySQLの古いバージョンをアンインストールします(古いバージョンがない場合は、この手順をスキップし...

Idea で Tomcat のソースコードデバッグを開始し、デバッグのために Tomcat に入る方法

idea 開発ツールを使用してコードをデバッグする場合、Java Web プロジェクトで、Web コ...

HTML の POST リクエストにおける a タグの 2 つの使用法の分析

HTML POST リクエストで a タグを使用する 2 つの例を次に示します。 1. ajaxを使...

Windows 7 64 ビットに最新バージョンの MySQL サーバーをインストールする方法のグラフィック チュートリアル

最近、MySQL データベースを勉強していて、設定ファイルを頻繁に変更したため、MySQL データベ...

git bash を使用して Linux にログインするための ssh の設定方法

1. まず、Linux サーバー上で公開鍵ファイルと秘密鍵ファイルを生成します。デフォルトの保存ディ...

MySQLクエリ条件におけるonとwhereの配置の違いの分析

導入今日SQLを書いているときに、問題が発生しました。要件は、データを照会し、スコアと過去 1 週間...

MySql Group Byは複数のフィールドのグループ化を実装します

日常の開発タスクでは、データ テーブル内のグループ化フィールドに基づいて統計データを取得するために、...

Javascript ファイルと Blob の詳細な説明

目次ファイル()文法パラメータ例ブロブ()文法パラメータ財産方法例要約するファイル() File()...

Linux システムでの CPU 使用率が高い場合のトラブルシューティングのアイデアと解決策

序文Linux 運用保守エンジニアとして、日々の業務の中で Linux サーバーの CPU 負荷が ...

MySQL 8.0.11 圧縮版のインストールチュートリアル

この記事では、MySQL 8.0.11のインストールチュートリアルを参考までに紹介します。具体的な内...