クラウドネイティブ Docker デプロイメント Flask 実践

クラウドネイティブ Docker デプロイメント Flask 実践

1. Dockerの理解

1. Dockerの簡単な紹介

Docker はオープンソースのアプリケーション コンテナー エンジンであり、開発者はこれを使用してアプリケーションと依存パッケージをポータブル コンテナーにパッケージ化し、一般的な Linux または Windows オペレーティング システム マシンに公開できます。仮想化も実現できます。コンテナは完全にサンドボックス化されており、コンテナ間にインターフェースはありません。

2. Dockerはクライアントサーバーアーキテクチャを採用している

Docker クライアントは Docker デーモンと通信し、Docker コンテナの構築、実行、配布という面倒な作業を実行します。 Docker クライアントとデーモンは同じシステム上で実行することも、Docker クライアントをリモート Docker デーモンに接続することもできます。 Docker クライアントとデーモンは、REST API を使用して UNIX ソケットまたはネットワーク インターフェイスを介して通信します。もう 1 つの Docker クライアントは Docker Compose です。これを使用すると、一連のコンテナーで構成されたアプリケーションを操作できます。

2. DockerFileの説明

  • FROMコマンド
 FROM: イメージの構築に使用されたイメージ
  • MAINTAINERコマンド
 MAINTAINER: イメージ管理者の名前またはメールアドレス
  • RUNコマンド
 RUN: イメージをビルドするときに実行する命令
  • CMDコマンド
 CMD: コンテナ実行時に実行されるシェル環境
  • VOLUMEコマンド
 VOLUME: コンテナのマウントポイントを、ホストによって自動的に生成されたディレクトリまたは他のコンテナに指定します。
  • USER コマンド
 USER: RUN、CMD、 ENTRYPOINT コマンドの実行ユーザーを指定します。
  • WORKDIR コマンド
 WORKDIR: RUN、CMD、ENTRYPOINT、COPY  ADD作業ディレクトリを設定します
  • EXPOSEコマンド
 EXPOSE: コンテナのサービスポートを宣言します。
  • ENV コマンド
 ENV: コンテナ環境変数を設定する
  • ADD コマンド
 ADD: ファイルまたはディレクトリをコンテナにコピーします。 URL または圧縮パッケージの場合は、自動的にダウンロードまたは解凍されます。
  • コピーコマンド
 COPY: ADD と同様に、ファイルまたはディレクトリをコンテナーにコピーしますが、自動ダウンロードや解凍の機能はありません。
  • ENTRYPOINT コマンド
 ENTRYPOINT: コンテナの実行時に実行されるシェルコマンド

3. Python Flask フレームワークの Docker クイック デプロイ

1. 最小限のフラスコを作成する

①、app.pyファイル。

 #!/usr/bin/env python
輸入フラスコ
# アプリケーション作成します
APP = フラスコフラスコ( __name__ )
@ アプリルート( '/' )
定義インデックス():
「hello 51CTO」 を返します
__name__ == '__main__' の場合:
アプリ走る()

②、 requirements.txt ファイル。

このプロジェクトの Python 依存パッケージをエクスポートします。

 pip フリーズ> 要件.txt 

2. Flaskコードとrequirements.txtをサーバーにアップロードする

①.アップロードするファイルを準備します。

②. MobaXterm を使用してサーバーに接続します。

③.ファイルをドラッグアンドドロップしてサーバーにアップロードします。

3. Docker環境の準備

①、Dockerがpythonイメージをプルします。

 docker プルpython

②. Dockerfile ファイルを書き込みます。

 FROM python #ベースイメージ、python
MAINTAINER yukoyu #ミラー作者情報
WORKDIR / アプリ
#作業ディレクトリ、このディレクトリはイメージ内の作業ディレクトリに対応しており、パスに関連する以降のすべての操作は
#WORKDIRの相対パスを使用して指定します
コピー要件txt の要件TXT
# requirements.txt image / app / requirements.txt コピーします
pip install -r requirements .txt -i https://pypi.tuna.tsinghua.edu.cn/simple ​​ を実行します
#pipパッケージをインストールする
コピー。 。
#現在のファイル内のディレクトリを/ appディレクトリにコピーします
ENV FLASK_APP アプリ
#flask run コマンドが起動ファイルの場所を見つけられるように環境変数を設定します
CMD [ "flask""run""-h""0.0.0.0""-p""5000" ]
# 起動名flask run - h 0.0.0.0 - p 5000 を実行します。リスト内の各要素はスペースを表します。

③.ディレクトリ構造を準備します。

4. Dockerfileを使用してイメージを構築する

①.工事。

 docker build -t flasktest : 1.0

②.成功したかどうかを確認します。

③、flasktestイメージを実行します。

 docker run --name flasktest01 -p 5000 : 5000 flasktest : 1.0 を実行ます。 

4. テスト結果

正常に実行されました。

オープンソースの詳細については、以下をご覧ください。

51CTO オープンソース基本ソフトウェアコミュニティ

​​https://ost..com​​.

<<:  ガートナー: 中国におけるパブリック クラウド導入のベスト プラクティス

>>:  インフォア:業界を深く掘り下げ、顧客がより早く価値を実現できるよう支援

推薦する

ウェブサイトのキーワードをウェブサイトに正確に配置する方法

ウェブサイトにはキーワードがあり、ウェブサイトのキーワードを最適化することは、SEOプロジェクト全体...

#まずはレビューを# hostdare-c3 データセンター/中国最適化/3.49 USD/512M メモリ VPS シンプルレビュー

Hostdare は本日、新しいデータセンターを発表しました。ロサンゼルスの C3 データセンターは...

SEO: 成功は天にかかっているが、計画は人にかかっている

昨日、美しいSEOの周珍が「SEOの目標は、お金を稼ぐことか、それともブランドをパッケージ化すること...

藍雲鋒:オンラインマーケティングにおける悪事と悪事の不在の概念について

オンライン マーケティング (OM) は、テクノロジー、知恵、安定性、勤勉さの組み合わせです。 OM...

映画やテレビ作品の権利者は「剣ネット作戦」を利用して権利を守り、Fengxing.comは調査を受けた。

新華社世論、北京、7月9日:今年、国の「剣ネット作戦」により著作権侵害の取り締まりが強化され、インタ...

アリババクラウド、エッジコンピューティングへの投資を増強し、5G MECを包括的に展開

過去20年間は、人間ネットワークの時代でした。 5Gの登場により、今後20年間はモノのインターネット...

ジャック・マーが起業家精神について語る: 地に足のついたことをして、ベンチャーキャピタルにウェブサイトを見つけてもらう

アリババは、他のインターネット企業がとってきた、資金を調達し、人材を採用し、物事を実行するという古い...

Beida Jade Bird 検索エンジン広告戦略のケーススタディ

北大玉鳥はIT教育分野で大きな影響力を持っており、その検索エンジン広告戦略も典型的です。新たな競争力...

SEOの理論と活用について考える

時間は過ぎ去り、二度と戻ってきません。2011 年は昨日私たちに別れを告げました。今年もまた平凡な一...

職場のSEO専門家は、学習能力、学習意欲、学習能力が優れている必要があります。

ウェブサイトの最適化がこれほど普及した今、当然ながら現在の業界に参入する新人が増えています。最近会社...

企業はトラフィックを増やし、B2CとB2Bを促進するためにブログとWeiboを無視してはならない

HubSpotは最近、7,000社以上の法人顧客を対象に「ブログとSNSがウェブサイトのトラフィック...

投資家は積極的に24クーポンを販売し、グループFが引き継ぐ可能性がある

10月24日、24quanが閉鎖されるとすぐに投資家が積極的に活動し、この赤字資産を売却する意向を示...

電子商取引のサンプル: ユニークな食品電子商取引ウェブサイト

①インターネットや電話での注文は、従業員が箱に仕分けします。 ②仕分けされた地元の特産品の箱は、空港...

オンラインプロモーションのチャネルと方法

ここでは、新規顧客を引き付け、トラフィック、コンバージョン、収益化を促進するためのオンラインプロモー...

Pacificrack: 安価な米国 VPS、1Gbps 帯域幅回復、年間 10 ドル、1G メモリ/1 コア/10g SSD/1T トラフィック

Pacificrack は、帯域幅が「1Gbps」の特別 VPS を一時的に復活させました。価格は年...