問題タブ [docker-engine]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
892 参照

docker - Docker Engine API を使用してコンテナの CPU コア数を設定する

Docker Engine API (Json API) を使用して Docker コンテナを起動するバックエンド サーバー プログラムがあり、Docker コンテナあたりの CPU コア数をたとえば 1 に制限したいと考えています。

Docker Engine API ドキュメントには、コンテナーの CPU 設定を構成するためのいくつかのオプションがあります。 https://docs.docker.com/engine/api/v1.24を参照してください。

これを使用することもできますCpusetCpusが、どの Docker コンテナーがどの CPU コアに割り当てられているかのリストを保持する必要があるため、これは非常に面倒です。(コンテナがどの CPU コアで実行されているかは気にしません。複数の CPU コアを使用することを避けたいだけです。)

また、各 docker コンテナーがすべての CPU コアの 12.5% のみを使用するように設定することもできCpuQuotaます。これは、8 つの CPU コアを持つサーバーの 1 つの CPU コアに相当します。このアプローチの問題は、異なる数の CPU コアを持つ別のサーバーでバックエンド プログラムを実行すると、CpuQuota12.5% の設定が 1 つの CPU コアに対応しなくなることです。

上記のオプションはどちらも扱いにくく、理想とはほど遠いものです。コンテナごとの CPU コアの数を設定するための、より優れた/より簡単な方法があるに違いありません!

0 投票する
2 に答える
281 参照

docker - モジュール間の依存関係/初期化順序を強制する方法はありますか?

Azure IoT Edge を使用して、デプロイ内のコンテナー/モジュールの初期化順序を保証する方法を見つけられませんでした。たとえば、A と B の 2 つのモジュールがあるとします。A はサーバーで、B は A に依存するクライアントです。私の知る限り、A が B より先に起動することを保証する方法はありません。

Azure IoT Edge デプロイ テンプレートは Docker Engine API に準拠していますが、その API を通じて依存関係を適用する方法が見つかりませんでした。回避策として、各コンテナーのコードで実行されているコンテナーについては想定していません。これは機能しますが、追加のコードのオーバーヘッドは理想的ではありません。特に、docker-compose のようなツールを使用すると、初期化順序の強制がかなり簡単になることを考慮してください。

このようなことをしたい (src: https://docs.docker.com/compose/compose-file/ ):

回避策として、上記の例に従って、webコンテナで次のようなことを行って、依存アクションを実行postgresする前に稼働していることを確認しました。webpostgres

もちろん、これは明らかな欠陥のある不自然な例ですが、回避策の要点を示しています。