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 スロークエリログの有効化と設定

推薦する

MySQLカスタム関数とストアドプロシージャの詳細な説明

序文この記事では主にMySQLのカスタム関数とストアドプロシージャに関する関連コンテンツを紹介し、皆...

Vue で 3D タグ クラウドを実装するための詳細なコード

プレビュー: コード:ページセクション: <テンプレート> <div class=...

v-html レンダリング コンポーネントの問題

以前 HTML を解析したことがあるので、今日は Vue ドラッグ アンド ドロップを使用して、Ku...

Ember.js と Vue.js の詳細な比較

目次概要フレームワークを選択する理由は何ですか? js のエンバーEmber.js と Vue.js...

MYSQL での Truncate の使用法の詳細な説明

この記事のガイド: テーブル内のデータを削除するには、削除と切り捨ての 2 つの方法があります。TR...

モバイルでのHTML5経由のファイルアップロード

ほとんどの場合、PC でファイルをアップロードするにはプラグインが使用され、フラッシュが導入されても...

Vueはechart円グラフの凡例のパーセンテージを表示するメソッドを実装します

この記事では主に、echart を使用してパーセンテージを表示する Vue の円グラフデータ部分を紹...

MySQL マスタースレーブレプリケーションでエラーをスキップする方法

1. 従来のbinlogマスタースレーブレプリケーション、エラー報告をスキップする方法 mysql&...

NexusはAPIを使用して操作します

Nexus は RestApi を提供していますが、一部の API はまだ Groovy と組み合わ...

CentOS7で新しいデータディスクをマウントするための完全な手順

序文新しい VPS を購入しました。新しい VPS のデータ ディスクはデフォルトではシステムにマウ...

INS と DEL を使用してドキュメントの変更をマークする方法の詳細な説明

ins と del は、HTML 4.0 で導入され、文書の作成時に作成者が共同作業できるようにし、...

デプロイから基本操作までDocker Swarm

Docker SwarmについてDocker Swarm は次の 2 つの部分で構成されます。 D...

IEではボタンが両側に伸びる

ボタン (input, button) を記述すると、IE では次のようになります。単語数が増えると...

MLSQLコンパイル時権限制御例の詳細な説明

序文MySQL の権限を簡単に理解すると、MySQL では自分の能力の範囲内で操作が許可され、その限...