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 文字列の傍受と指定された文字列内のデータの取得
CSS は、スクロールを許可しながらスクロール バーを非表示にするために Overflow を設定し...
目次1. Dockerをビルドする2. コンテナに入る3. 設定ファイルを変更する4. Kafkaを...
本体の幅をウィンドウの幅に設定します(次のスクリプトで制御されます) $("body&qu...
1. CSS その他のアイコンアイコンを作成するには 3 つの方法があります。写真css (小さな矢...
継承する1. 継承とは何か継承: まず、継承とは関係、つまりクラス間の関係です。JS にはクラスはあ...
今日はベテランの貴重な経験を共有します。著者は技術管理の経験が7年あり、多い時は80人以上を率いてい...
目次1. 配列の分離割り当て1.1 配列分離割り当てとは何ですか? 1.2 配列分離割り当てに失敗し...
ソフトウェアのダウンロードソフトウェアのダウンロード リンク: https://pan.baidu....
この記事では、参考までに、簡単なスネークゲームを実装するためのjsキャンバスの具体的なコードを共有し...
最新のソリューション: -v /usr/share/zoneinfo/Asia/Shanghai:/...
この記事の例では、画像比較を実現するためのjQueryプラグインの具体的なコードを参考までに共有して...
結果: html <nav id="nav-1"> <a cl...
1. 問題の説明<br />JS を使用してフォームの送信メソッドを呼び出してフォームを...
コンピューターに Linux Ubuntu システムをインストールしました。初めてインストールしまし...
数年前、Taobaoのモバイル版の左下隅に面白い丸いボタンがあったことを覚えています。それをクリック...