1. 目的 Flask アプリケーションをローカルで作成し、Docker でパッケージ化し、独自のサーバーにアップロードして、デプロイを完了します。 フローチャート: 2. 実験環境 ローカル: Windows 10 1909 サーバー: Alibaba Cloud Centos システム 3. 必要なソフトウェア 1.Dockerデスクトップ 2. ピチャーム 2020.3.3 4. 手順 1. Flaskアプリケーションをローカルで完了する (1) PyCharmで新しいFlaskアプリケーションdocker_flaskを作成する (2)gunicornとgeventパッケージをインストールする (3)新しいgunicorn.config.pyファイルを作成し、次の内容を入力します。 workers = 5 # リクエストを処理するために同時に開かれるプロセスの数を定義し、ウェブサイトのトラフィックに応じて適切に調整します。worker_class = "gevent" # gevent ライブラリを使用して、リクエストの非同期処理をサポートし、スループットを向上させます。bind = "0.0.0.0:8080" # ここで 8080 は自由に調整できます。 (4)新しいrequirements.txtファイルを作成し、以下の内容を記入する
(5)Dockerfileファイルを作成し、以下の内容を記入する Python:3.7 から ワークディレクトリ /usr/src/app requirements.txt をコピーします。/ pip install -r requirements.txt -iを実行します。 コピー 。 。 CMD ["gunicorn", "app:app", "-c", "./gunicorn.conf.py"] #最初のアプリはPythonによって起動されたファイル名(app.py)です。2番目はFlaskプロジェクトで事前に起動されたアプリケーション名です。 (6)プロジェクト構造 2. Dockerイメージを構築する 1. このプロジェクトのディレクトリに入る 2. イメージをビルドし、次のコマンドを入力します。 ビルドは -t 'docker_flask' です。 その後、6 つのステップが実行されます。心配する必要はなく、結果を見るだけです。 それをチェックしてください これで、自作イメージの準備ができました。ローカルで実行して実験することができます。 3. 画像をAlibaba Cloud Warehouseにアップロードする (1)Alibaba Cloud上に独自のDockerリポジトリを作成します。 (2)画像をアップロードする 1. Alibaba Cloud Docker Registry にログインし、ユーザー名を自分のユーザー名に変更することを忘れないでください。 docker login --username=Alibaba Cloud ユーザー名 registry.cn-hangzhou.aliyuncs.com ログインパスワードはAlibaba Cloudのログインパスワードです 2. 次の2行のコマンドを入力して、イメージをレジストリにプッシュします。 docker タグ [イメージ ID] registry.cn-hangzhou.aliyuncs.com/namespace/warehouse name:[イメージ バージョン番号] docker push registry.cn-hangzhou.aliyuncs.com/namespace/warehouse name:[イメージバージョン番号] それなら心配せずに、実行を完了させましょう。 以前ここにアップロードしました。 4. このイメージをサーバーにプルして実行します(もちろん、最初にサーバーにDockerがインストールされている必要があります) docker pull registry.cn-hangzhou.aliyuncs.com/namespace/warehouse name:[イメージのバージョン番号] ssh 経由でサーバーにログインし、上記のコマンドを入力して、プルダウンされるかどうかを確認します。 4. 実行して動作するか確認する ここではdockerのポート8080をサーバーのポート28080にマッピングします OK、サーバーの IP: 28080 を入力して、Hello World が表示されるかどうかを確認します。(ポートを開くことを忘れないでください) Flask アプリケーションの Docker デプロイメントの実装手順に関するこの記事はこれで終わりです。Flask アプリケーションの Docker デプロイメントに関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: Vue スクロールダウンしてさらにデータを読み込む スクロールケースの詳細な説明
>>: Mysql 文字列の傍受と指定された文字列内のデータの取得
Web デザイン 5 におけるシンプルな XHTML Web フォーム。 テクニック 1: ラベル ...
1. はじめにまず、1 台のマシンで複数のインスタンスを使用する理由という質問に答える必要があります...
今日は、参考までに、jsを使用してカルーセルマップの効果を実現する方法についてお話ししましょう。具体...
昨年、プロジェクトの必要性により、Python でクローラーを作成しました。クロールされたデータは、...
成果を達成する実装コードhtml <div id="コンテナ"> &...
目次序文1. 不明 vs 任意2. 未知とあらゆるもののメンタルモデル3. まとめ要約する序文any...
ポート マッピングは、Docker を別のコンテナーに接続する唯一の方法ではありません。 Docke...
目次1. axioの基本的な使い方2. クロスドメインの問題を解決するには? 3. パッケージ4. ...
この記事では、例を使用して MySQL カスタム関数の原理と使用方法を説明します。ご参考までに、詳細...
1. HTMLの概要1.HTML: ハイパーテキスト マークアップ言語。これはプログラミング言語では...
目次JavaScript 改ざん防止オブジェクト1. 拡張不可能なオブジェクト2. 封印された物体3...
以前、写真が与えられ、その写真スタイルに基づいてフォームを作成するという課題に遭遇しました。しかし、...
webpack を使用してシングルページのプログラムを構築することは非常に一般的ですが、実際の開発で...
Deepin 2014 のダウンロードとインストールDeepin 2014 のダウンロードとインスト...
mysql 8.0.22 winx64のインストールと設定のグラフィックチュートリアルは参考までに、...