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 文字列の傍受と指定された文字列内のデータの取得
目次序文キーの役割差分アルゴリズムにおけるキーの役割ヘッドノードを同期するテールノードを同期する新し...
この記事では、例を使用して MySQL の重複インデックスと冗長インデックスについて説明します。ご参...
1. ファイアウォールの状態を確認するファイアウォールのステータスを確認する systemctl s...
目次1. 初期SQLの準備2.MysqlはSQL文の実行時間をチェックします3. さまざまなクエリの...
Deepin 2014 のダウンロードとインストールDeepin 2014 のダウンロードとインスト...
必要:ハードコードされたデータの代わりに、セレクター内のオプション値の動的な表示を実装します。私のロ...
序文公式アカウントのQRコードは長押しで認識できることは皆さんご存じですが、ミニプログラムに対する制...
システムとユーザー環境の設計<br />Apple システムの成功は、そのシステム アー...
HTML で CSS を使用する 3 つの方法: 1. インラインスタイル: 要素のスタイル属性を通...
InnoDB REDO ログ ファイルのサイズと数を調整する場合は、次の手順に従います。 1. My...
目次1. フロントエンドの状態管理とは何ですか? 2. ヴュークス3. バス4. ウェブストレージ序...
MySQLはシーケンス関数を実装する1. シーケンスレコードテーブルを作成する テーブル `sys_...
HTML徹底解析(14)特殊文字 ■ よく使われる特殊文字 HTMLタグを知っていれば、特殊文字の使...
効果図は以下のとおりです。 <!DOCTYPE html> <html lang=...
目次addEventListener が必要な理由は何ですか? addEventListener を...