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

推薦する

Quickjs は JavaScript サンドボックスの詳細をカプセル化します

目次1. シナリオ2. 基盤となるAPIを簡素化する2.1 自動的に破棄を呼び出す2.2 VM値を作...

JavaScript のクロージャの問題の詳細な説明

クロージャは、純粋関数型プログラミング言語の伝統的な機能の 1 つです。クロージャをコア言語構造の不...

CSSはcalc()を使用して現在の表示画面の高さを取得します

まず、CSS3 の相対的な長さの単位を見てみましょう (詳細なチュートリアルを参照してください)。相...

Reactでプロキシを有効にする2つの実用的な方法

プロキシを有効にする2つの方法React には、直接使用できるカプセル化された Ajax リクエスト...

検索ボックスと検索ボタンの境界線が重なり合わない問題を解決

今日、Baiduのページで練習していたところ、検索ボックスとボタンの余白とパディングの値が0に設定さ...

Linux環境でglogログライブラリを使用する方法

Linuxライブラリを生成するLinux版はcentos7.3を使用し、コンパイルしてライブラリを生...

nginxのリソースキャッシュ設定の詳細な説明

私はずっとキャッシュについて学びたいと思っていました。結局のところ、キャッシュはフロントエンドのパフ...

共有サイドバーを実装するためのネイティブJS

この記事では、ネイティブ JS で実装された共有サイドバーを紹介します。効果は次のとおりです。 以下...

MySQL 8.0 のデフォルトのデータディレクトリを変更する (設定なしの簡単な操作)

使用シナリオ: Alibaba Cloud を使用しており、データディスクを別途購入しました (大容...

Gitlab-ci を使用してリモート マシンに継続的にデプロイする方法 (詳細なチュートリアル)

簡単に言うと、今日は Gitlab-CI を使用してリモート サーバーに自動的にデプロイする方法につ...

mysql8.0.11データディレクトリ移行の実装

mysql のデフォルトのストレージ ディレクトリは/var/lib/mysql/です。以下は、デフ...

vscodeカスタムvueテンプレートの実装

vscode エディタを使用して vue テンプレートを作成すると、新しい vue ファイルを作成す...

Nginx キャッシュ ファイルと動的ファイルの自動バランス設定スクリプト

nginx Nginx (エンジン x) は、高性能な HTTP およびリバース プロキシ サーバー...

プログレッシブ ウェブ アプリ (PWA) の開発方法

目次概要必要とするアプリURL PWA にはどのような技術コンポーネントが必要ですか?マニフェストフ...

CSS による要素の中央揃えの原理の分析

CSS で要素の水平方向と垂直方向の中心を設定することは、非常に一般的な要件です。しかし、理論的には...