0

Java アプリをドッキングしようとしています。新しいイメージを作成するたびに、Docker は古いイメージを削除せずに新しいイメージをリストに追加します。イメージを実行するのではなく、何度もビルドするだけです。古いものは取り除くべきだと思います。私が間違っている?

Docker ファイル

FROM frolvlad/alpine-oraclejdk8:slim
VOLUME /tmp
ADD ./build/libs/admin-app-0.1.jar app.jar
CMD ["java","-jar","app.jar"]

コマンド

sudo gradle build
sudo docker build . -t admin-app:latest

結果

ここに画像の説明を入力

4

2 に答える 2

0

ぶら下がっている画像(<none>名前にタグ付けされていない画像)で終わる理由は、同じ名前/タグで同じ画像を何度も正常に構築しているためですadmin-app:latest
この場合、このタグで既にビルドされた以前の (古い) イメージは、新しくビルドされたイメージに置き換えられるため、「ダングリング イメージ」になります。Docker はそれを上書き (削除) したくないので、単にこのイメージにタグを付けて名前がないことを示します<none>

ビルドが失敗したときにダングリング イメージを生成することもできます。

ぶら下がっている画像を取り除くには、次のいずれかを実行できます。

  • ビルドを実行するたびに異なるタグを使用して、 でタグ付けされたイメージを回避し<none>ます。
  • を使用してそれらを削除しますdocker rmi $(docker images -f "dangling=true" -q)
于 2020-04-11T09:28:21.343 に答える