14

Buildkit について最近聞いたので、Docker で使用しようとしています。

DOCKER_BUILDKIT=1 docker build . -t experimental Dockerfile のビルドに使用 しています。

いくつかのDockerfile依存パッケージが欠落しているため、正しくビルドされません。

私がやりたいことは、最後に動作する中間コンテナにアタッチし、たとえばaptツールで問題を修正することです。

Buildkit なしでビルドする場合、これはターミナル出力からの中間コンテナーのハッシュ値で可能でした。

ただし、Buildkit からの出力は、そのような値を提供していません。それで、私がそれらにアクセスする方法はありますか?

前もって感謝します。

4

1 に答える 1

9

現時点では不可能だと思いますbuildkit/issue#1053を参照してください。

ただし、BuildKit は引き続きすべてのレイヤーをキャッシュするため、回避策を使用できます。

  • 失敗したコマンドの前にイメージを調べて、失敗したRUNコマンドと後続のすべてのコマンドをコメントアウトしRUNます。再docker build実行しdocker runてから、イメージを検査します。

  • 失敗したコマンドのにイメージを検査し、コマンドの最後にRUN追加して、コマンドを強制的に成功させます。再実行してから、イメージを検査します。|| trueRUNdocker builddocker run

于 2020-09-26T17:48:02.927 に答える