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. ダウンロード: http://www.oracle.com/technetwork/java/...
序文この記事では、CSS3アニメーションを使用して、円が小さいものから大きく拡大し、外側に広がる効果...
HTML についてどれくらい知っていますか? 現在、基本的な HTML コードを学習している場合は、...
フォームのコードは図の通りです。スタイルシートがまだ追加されていないため、フォームが整列されておらず...
詳細には立ち入らずに、コードに直接進みましょう。一緒にコミュニケーションを取り、学びましょう。月ごと...
この記事では、カレンダー効果を実現するためのBootstrap+Jqueryの具体的なコードを参考ま...
1. 本番環境でMySQLのデッドロックを監視し、デッドロックの可能性を減らす方法まず、デッドロック...
最近、jQuery を学習しているときに、show()、hide()、toggle() 関数に出会い...
数学、物理学、および一部の科学技術分野で使用される特殊記号は多数あります。Unicode コードには...
私たち、特に Linux エンジニアは毎日 Linux サーバーを扱っています。サーバーのセキュリテ...
データURI Data URI は、小さなファイルをドキュメントに直接埋め込むために RFC 239...
目次親コンポーネントは子コンポーネントと通信します子コンポーネントは親コンポーネントと通信しますコン...
目次概要フィルターの定義フィルターの使用カスタムグローバルフィルターローカルフィルター予防例1(ロー...
1. レンダリングJD効果シミュレーション効果 2. 原則高さと幅が0のボックスを用意しますこのボ...
準備のメリットPrepare SQL が生成される理由。まず、MySQL サーバー上で SQL を実...