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 の基本的なタグと属性の簡単な紹介

HTML はタグと属性で構成されており、これらを組み合わせてブラウザにページの表示方法を指示します。...

Reactはページング効果を実装する

この記事では、Reactでページング効果を実現するための具体的なコードを参考までに紹介します。具体的...

IE8 と Chrome でテーブルの幅を修正する方法

IE8 や Chrome で上記の設定を使用すると、画面の最大幅に合わせて表示が統一され、各列の幅は...

Linux での umask の使用に関する詳細な説明

私は最近 Linux を学び始めました。Ma Ge の umask に関する Linux コースを読...

CSS3アニメーションを使用した簡単な指クリックアニメーションの実装例

この記事では主に、CSS3 アニメーションで簡単な指クリックアニメーションを実装する例を紹介し、皆さ...

CSSでできるならJavaScriptは使わない

序文JavaScript で記述できるアプリケーションは、最終的には JavaScript で記述さ...

MySQL NULLデータ変換方法(必読)

MySQL を使用してデータベースをクエリし、左結合を実行すると、関連付けられたフィールドの一部に...

ウェブフロントエンドに対する一般的な攻撃とその防止方法

ウェブサイトのフロントエンド開発で発生するセキュリティ問題は、クライアントブラウザで実行されるコード...

nginxのシンプル転送リクエストのサーバーとロケーション設定の詳しい説明

nginx のサーバーと場所の構成を簡単に整理してみましょう。たとえば、URL: www.mask_...

Docker に MySQL と Redis をインストールする方法

この記事はCentOS 7.3システム環境をベースに、MySQLとRedisのインストールと使用につ...

HTML DOM入門_PowerNode Javaアカデミー

DOMとは何ですか? JavaScript を使用すると、HTML ドキュメント全体を再構築できます...

Vue3.0 異なる解像度のコンピュータの適応操作

まず依存関係をインストールする必要があります npm i lib-flexible-computer...

Tomcatが親の委任メカニズムを破壊する方法についての簡単な説明

目次JVM クラスローダーTomcat クラスローダークラスを検索ロードクラスクラスをロードしようと...

MySQL の制限パフォーマンス分析と最適化

1. 結論構文: 制限オフセット、行結論: 同じ行条件では、オフセット値が大きいほど、limitステ...

tomcat8の最新のLinuxインストールプロセス

ダウンロード参考:ダウンロードするコアパッケージを選択してくださいダウンロード後、ファイルをサーバー...