Dockerで同じIDを持つ2つのイメージを削除する

Dockerで同じIDを持つ2つのイメージを削除する

今日 Docker コンテナを作成したとき、誤ってイメージの名前を間違って入力しました。その結果、コンテナが正常に作成された後、同じ ID を持つ 2 つのイメージが表示されました。

docker rmi e4a35914679d を使用して削除するときに実行に失敗しました:

デーモンからのエラー応答: 競合: e4a35914679d を削除できません (強制する必要があります) - イメージは 1 つ以上のリポジトリで参照されています

この ID には 2 つのローカル ファイルがあり、この ID を使用して削除することはできないというプロンプトが表示されます。

そこで、すべてのイメージを削除したいのですが、docker rmi $(docker images -q)、次のエラーが発生します。

デーモンからのエラー応答: 競合: e4a35914679d を削除できません (強制する必要があります) - イメージは 1 つ以上のリポジトリで参照されています

その後、Stack Overflowでリポジトリとタグを使用してこれを行うことを知ったので、docker rmi docker.io/redis:3.2を実行しました。

再度クエリを実行すると、画像が 1 つだけ残っているので削除します。

したがって、リポジトリ:タグの組み合わせを使用して特定のイメージを削除することができます。

追加知識: Docker は空のタグとリポジトリを持つイメージを削除します

最初に docker を学習しましたが、問題が見つかりました。誤操作後。 IMAGE ID のみの空白画像が残されます。

削除する方法ですが、成功するまでに何度か試行する必要がありました。

空のタグと空のリポジトリを持つミラーを削除する場合は、現在のミラーを一覧表示します。

[root@iZ25kr7psegZ ~]# docker イメージ
リポジトリ タグ イメージ ID 作成 サイズ
azkaban_centos 最新 8993c0c20f01 24 時間前 244MB
<なし> <なし> d2dcb7c1f1ce 2日前 1.08GB
mysql 最新 990386cbd5c0 7日前 443MB
centos 最新 9f38484d220f 2か月前 202MB
hello-world 最新 fce289e99eb9 4ヶ月前 1.84kB

削除ステートメント docker rmi IMAGE ID を実行します。

[root@iZ25kr7psegZ ~]# docker rmi d2dcb7c1f1ce

デーモンからのエラー応答: 競合: d2dcb7c1f1ce を削除できません (強制する必要があります) - イメージは停止されたコンテナ cde37d151fdf によって使用されています

これは、イメージが依存するコンテナを停止するように促すものです。

[root@iZ25kr7psegZ ~]# docker stop cde37d151fdf

翻訳:

次にコンテナを削除します。

[root@iZ25kr7psegZ ~]# docker rm cde37d151fdf

翻訳:

その後、この空白の画像を削除できます。

[root@iZ25kr7psegZ ~]# docker rmi d2dcb7c1f1ce
削除済み: sha256:d2dcb7c1f1ce916ea67a0a6c63cda40c62fa8dbc985845e64f3fafe9a37664f1
削除済み: sha256:86ad6d366bb4d0c9e4b176bc220ff8d421902e2bcb197c7c017f8da854c3c72d
削除済み: sha256:128e444c34b373f5e553883c65f676efdb2be22684bcbcf141fb724a7b3de316
削除済み: sha256:15d26edbae6fafd6acad6e3308445846202230b66c6199cb236268f932b59ce8

ミラーリストを再度照会する

[root@iZ25kr7psegZ ~]# docker イメージ
リポジトリ タグ イメージ ID 作成 サイズ
azkaban_centos 最新 8993c0c20f01 24 時間前 244MB
<なし> <なし> adbcb407e207 2日前 571MB
mysql 最新 990386cbd5c0 7日前 443MB
centos 最新 9f38484d220f 2か月前 202MB
hello-world 最新 fce289e99eb9 4ヶ月前 1.84kB

サイズが1.08Gから571Mに減少したことがわかりました。これは、このイメージを保存する別のコンテナがあることを示します。ロシアの入れ子人形のようなものだと考えてください。レイヤーごとに削除する必要があります。これは、docker commit 操作が多すぎることが原因であると思われます。

繰り返し操作を行うと、1 つの画像が異なるコンテナーに対応する場合があることが判明しました。

プロンプトが出されたコンテナ ID ごとに、停止および rm 操作が実行されます。起動回数が多すぎるため、画像が繰り返し読み込まれている可能性があります。最終結果は、もちろん、完全に削除されます。

[root@iZ25kr7psegZ ~]# docker rmi cb9f332b969f
削除済み: sha256:cb9f332b969ff425ef7bf781a1d7dff720dfa32a6e77a20347552b76f6b763eb
削除済み: sha256:2a9ae33d11aadc05d24b58f67c6eb577c64eceff0528d06207e49963257e5f24
[root@iZ25kr7psegZ ~]# docker イメージ
リポジトリ タグ イメージ ID 作成 サイズ
azkaban_centos 最新 8993c0c20f01 24 時間前 244MB
mysql 最新 990386cbd5c0 7日前 443MB
centos 最新 9f38484d220f 2か月前 202MB
hello-world 最新 fce289e99eb9 4ヶ月前 1.84kB

Docker で同じ ID を持つ 2 つのイメージを削除する上記の操作は、エディターが皆さんと共有する内容のすべてです。参考になれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • イメージの起動時にdocker runまたはdocker restartが自動的に終了する問題を解決します
  • イメージのアップロードとダウンロードに docker をプロキシするためのプライベート ライブラリとして nexus を使用する
  • Dockerはelasticsearchイメージを起動し、ディレクトリをマウントした後にエラーを解決します
  • Dockerは元のタグのイメージの再タグ付けと削除を実装します
  • Dockerが新しいイメージをロードした後にリポジトリとタグ名が両方ともnoneになる問題を解決する
  • Dockerイメージのインポート、エクスポート、バックアップ、移行操作
  • Dockerイメージの作成Dockerfileとコミット操作
  • Docker イメージのプルとタグ操作 pull | tag

<<:  Navicat Premiumを使用してMySQLデータベースにリモート接続する方法

>>:  MySQL スロークエリログの有効化と設定

推薦する

Tomcatはスレッドプールを使用してリモート同時リクエストを処理します。

Tomcatが同時リクエストを処理する方法を理解することで、スレッドプール、ロック、キュー、および...

Navicat for Mysql 接続エラー 1251 (接続失敗) の問題を解決する

以前書いた内容が詳細さに欠けていたため、今回は修正・補足しました。ただし、以前の MySQL バージ...

VUE ユニアプリコア知識の簡単な紹介

目次仕様a. ページファイルはVueの単一ファイルコンポーネント仕様に準拠しています。 b. コンポ...

Docker+Jenkins+Gitlab+Djangoアプリケーションデプロイ実践の詳細な説明

1. 背景インターネット アプリケーションの急速な更新と反復という状況では、従来の手作業や単純なスク...

測定画像HTTPリクエスト

一般的なブラウザでテスト ページを開き、Fiddler で http リクエストを表示してください。...

JS でオブジェクトを作成する 4 つの方法

目次1. リテラル値でオブジェクトを作成する2. 新しいキャラクターを使ってオブジェクトを作成する3...

Centos での TCPWrappers アクセス制御の実装

1. TCP ラッパーの概要TCP Wrappers は TCP サービス プログラムを「ラップ」し...

Jmeterはデータベースプロセスダイアグラムに接続します

1. MySQL jdbc ドライバー (mysql-connector-java-5.1.28.j...

Ubuntuがネットワークに接続できない場合の解決策

仮想マシン内の Ubuntu がネットワークに接続できない場合の効果的な解決策: 1. Ubuntu...

WeChatミニプログラムでの仮想リストの実装例

目次序文分析する初期レンダリング方法初期最適化さらなる最適化方法2序文ほとんどのミニプログラムには、...

OpenLayersはポイントフィーチャーレイヤーの集約表示方法を実現します

目次1. はじめに2. ポイントフィーチャーレイヤーの集約3. 重合の特殊処理4. 重合の特殊処理 ...

一般的なメールボックスで正常に表示できる HTML メールを作成するためのヒント

HTML メールを送信するためのヒント: スタイルを使用してインライン CSS を記述する、使用する...

Vue で配列をクリアするいくつかの方法 (要約)

目次1. はじめに2. データを消去するいくつかの方法2.1 ref() の使用2.2 スライスの使...

HTML に画像が存在しない場合にデフォルトの画像を表示する方法の例

画像リンク <img src="" /> jsを使用してURLが有効...

JavaScript の手ぶれ補正とスロットリングの説明

目次安定スロットリング要約する安定自動ドアは人を感知してドアを開け、5 秒間のカウントダウンを開始し...