導入 Dockerfile ビルドの実行は、単一のコンテナの手動操作です。マイクロサービス アーキテクチャを使用する場合は、100 を超えるコンテナを起動する必要があります。それらの間の依存関係をどのように維持すればよいでしょうか? 3 つのステップ:
初めての経験 1.Dockerファイル python:3.7-alpine より WORKDIR /コード ENV FLASK_APP app.py 環境変数 FLASK_RUN_HOST 0.0.0.0 apk add --no-cache gcc musl-dev linux-headers を実行します コピー requirements.txt requirements.txt pip install -r requirements.txt を実行します。 コピー 。 。 CMD ["フラスコ", "実行"] 2.サービス インポート時間 Redisをインポートする FlaskからFlaskをインポート アプリ = Flask(__name__) キャッシュ = redis.Redis(ホスト = 'redis'、ポート = 6379) get_hit_count() を定義します: 再試行 = 5 真の場合: 試す: cache.incr('hits') を返します redis.exceptions.ConnectionError を除き、exc として: 再試行 == 0 の場合: 昇給 再試行 -= 1 時間.睡眠(0.5) @app.route('/') デフハロー(): カウント = get_hit_count() 'Hello World! {} 回表示されました。\n' を返します。format(count) ドッカーの作成 バージョン: '3' サービス: ウェブ: 建てる: 。 ポート: - 「5000:5000」 ボリューム: - .:/コード -logボリューム01:/var/log リンク: - レディス レディス: 画像: redis ボリューム: ログボリューム01: {} docker-compose を起動する compose-demo_web_1 を開始しています...完了しました compose-demo_redis_1 を開始しています...完了しました compose-demo_redis_1、compose-demo_web_1 にアタッチする redis_1 | 1:C 2020年9月12日 07:34:09.654 # oO0OoO0OoO0Oo Redis が起動しています oO0OoO0OoO0Oo redis_1 | 1:C 2020 年 9 月 12 日 07:34:09.655 # Redis バージョン = 6.0.7、ビット = 64、コミット = 00000000、変更 = 0、pid = 1、開始しました redis_1 | 1:C 2020 年 9 月 12 日 07:34:09.655 # 警告: 設定ファイルが指定されていません。デフォルトの設定を使用します。設定ファイルを指定するには、redis-server /path/to/redis.conf を使用します。 redis_1 | 1:M 2020 年 9 月 12 日 07:34:09.657 * 実行モード = スタンドアロン、ポート = 6379。 redis_1 | 1:M 2020 年 9 月 12 日 07:34:09.657 # 警告: /proc/sys/net/core/somaxconn が 128 という低い値に設定されているため、TCP バックログ設定 511 を適用できません。 redis_1 | 1:M 2020年9月12日 07:34:09.657 # サーバーが初期化されました redis_1 | 1:M 2020 年 9 月 12 日 07:34:09.658 # 警告: overcommit_memory が 0 に設定されています。メモリ不足の状況では、バックグラウンド保存が失敗する可能性があります。この問題を修正するには、/etc/sysctl.conf に 'vm.overcommit_memory = 1' を追加して再起動するか、コマンド 'sysctl vm.overcommit_memory=1' を実行してこれを有効にします。 redis_1 | 1:M 2020年9月12日 07:34:09.658 * バージョン6.0.7で生成されたRDBをロードしています redis_1 | 1:M 2020年9月12日 07:34:09.658 * RDBの経過時間156秒 redis_1 | 1:M 2020年9月12日 07:34:09.658 * 作成時のRDBメモリ使用量 0.77 Mb redis_1 | 1:M 2020年9月12日 07:34:09.658 * ディスクからDBがロードされました: 0.000秒 web_1 | * Flask アプリ「app.py」の提供 web_1 | * 環境: 本番 web_1 | 警告: これは開発サーバーです。本番環境では使用しないでください。 web_1 | 代わりに本番環境の WSGI サーバーを使用してください。 web_1 | * デバッグモード: オフ YML ファイル ルール バージョン: "1.0" #versionservices: #service listservice1: #サービス構成 container_name: #コンテナ名depends_on: #依存関係リスト -depend1 -依存2 画像: #Mirror-image1 - 画像2 build:. #ビルドディレクトリ network: #ネットワーク...... サービス2:テスト2 ...... volumnes: #マウントディレクトリリスト networks: #ネットワークリスト configs: #その他の設定 Docker バッチコンテナオーケストレーションの実装に関するこの記事はこれで終わりです。Docker バッチコンテナオーケストレーションに関するより関連性の高いコンテンツについては、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
序文実際、クエリ中に結果に番号が付けられるこのような状況に遭遇したことは一度もありません。同僚が転職...
目次MVCとMVVMの違い前述のMVCC の概要長所と短所MVVM概要MVVM 実装者 — Vue ...
目次1. レンダリング2. データをバインドし、ツリーテーブルにラベルを追加する3. すべてのコード...
目次現状解決さらなる解決策やっと現状WeChat ミニプログラムには、ホームページ、個人ページ、いく...
1. イベントが有効になっているかどうかを確認する'%sche%' のような変数を表...
1. 対象環境Windows 7 64ビット2. 材料(1)VC++2010リリースパッケージ(64...
Flashにより、デザイナーや開発者はブラウザ上でリッチなコンテンツを提供し、動き、インタラクティブ...
今日、PHP で作業しているときに、Xampp サーバーに付属の mysql データベースを使用する...
背景インデックスは諸刃の剣です。クエリ速度は向上しますが、DML 操作も遅くなります。結局のところ、...
最近Tencent Cloudサーバーを購入し、環境を構築しました。このメモは、これまで MySQL...
目次クラスコンポーネントイベントバインディング関数コンポーネントイベントバインディング要約するRea...
導入HibernateやMyBatisなどのORMフレームワークでは、部門に関連付けられたユーザーオ...
関数を記述できます。主に正規表現を使用して判断を行います。入力文字が空の場合は、「-」を使用して置き...
目次1.スリープ機能2.タイムアウトを設定する3. 約束4. 非同期待機5. 1秒後に出力1、2秒後...
オプションに属性 selected = "selected" を追加すると、それ...