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 文字列の傍受と指定された文字列内のデータの取得
目次序文1. 従来のVueコンポーネント1. メインコンポーネントコード: 2. 使用方法3. 成果...
1. コンポーネントと実装機能Keepalived: Haproxy サービスの高可用性を実現し、...
目次序文1. コードによって設定されたデータベース名またはパスワードがローカルデータベースと一致して...
一般的な携帯電話のスタイル: @media all および (orientation : 縦向き) ...
以下に示すプラス記号の効果を実現するには: この効果を実現するには、div 要素だけが必要です。 b...
WindowsとLinux間のファイル転送(1)WinSCPを使用して、WindowsファイルをLi...
Web ページ エンコーディングは英語では web page encoding と翻訳され、Web ...
目次Dockerを使用してMySQLサービスをデプロイする方法DockerでRedisサービスをデプ...
序文: MySQL では、ビューはおそらく最も一般的に使用されるデータベース オブジェクトの 1 つ...
ワイルドカードのカテゴリ: %パーセント ワイルドカード: 任意の文字が任意の回数出現できることを示...
最近、Linux に Aphace、mysql、php をインストールするときに多くの問題に遭遇しま...
まず関数の自己呼び出しを知る必要がある関数の自己呼び出し - 自己呼び出し関数1 回限りの関数 - ...
親ファイル React をインポートし、{useState} を 'react' か...
目次1. ソースコード1.1 モノレポ1.2 タイプスクリプト2. パフォーマンス2.1 ソースコー...
序文テストを行う際、大量のデータによる負荷に耐えるプロジェクトの能力をテストするために、通常はテスト...