問題タブ [docker-buildkit]
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.
docker - Docker Build 専用マシン (buildkit を有効化) のボトルネックに直面しています。複数の同時ビルドで Docker ビルドが遅くなる
すべての組織の docker ビルドに専用の AWS EC2 インスタンスを使用しようとしています。私たちは build_kit を使用しており、ここで到達しようとしている目標は、私たち全員の間で共通のキャッシュを持つことです。ただし、複数の docker ビルドが同時に発生すると、docker ビルドの実行時間のレイテンシが大幅に増加する (最大 200%) ことがわかります。インスタンスのサイズを大幅に拡大し、RAM、CPU、および IO のインターネット速度を向上させました。ただし、これらのリソースの多くは使用されておらず、プロファイリングの結果は非常に似ています。
1 つのマシンで複数の Docker ビルドが同時に行われている場合、ボトルネックは何ですか? docker デーモンでキューイングが発生していますか? これは、リソースが問題ではないことを前提としています。
マシンは Linux を使用しているため、利用可能なすべてのリソースをネイティブに使用する必要があります。どこにも制限が設定されているわけではありません。
docker - Docker は、buildkit/buildctl と同等のものを検査します
「docker inspect」コマンドを使用して、生成された Docker コンテナーがルートとして実行されているかどうかを CI パイプラインで判断していました (その結果、開発者にとって厄介な問題になります)。しかし、セキュリティ チームは CI インフラストラクチャを buildkit/ に切り替えました。 buildctl は、公開された docker ソケットを必要とせずに実行されるためです。
buildctl に同様の inspect コマンドがありますか (ドキュメントには何も見つかりません)、または buildkit(d) でビルドされたコンテナーがルートとして実行されているかどうかを判断するためのより良い/別の方法はありますか?
ありがとう!
docker - DOCKER BUILDKIT: ビルド中に既存のシークレットを使用
私が見つけたすべての docker buildkit の例は、作成された秘密の txt ファイルを参照しており、ビルド コマンドに渡されます。使用しようとしているマネージャー ノードにシークレットがあります。
次に、これは私が得ているものです:
docker - プロセス置換を介して Dockerfile で envsubst を使用すると、ビルドが中断されます
ホスト環境変数を使用した ENV 置換を可能にするために配置したラッパー スクリプトを使用して Docker イメージをビルドしようとすると、常に問題が発生します。
スクリプトを実行するたびに、エラーが発生します。
これがラッパースクリプトです
そして、ここにありますDockerfile
:
ここで助けていただければ幸いです。
よろしくお願いします!