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 データベースの作成MySQL サービスにログインしたら、create コマンドを使用し...

Alibaba Cloud イメージリポジトリを使用して外部 Docker イメージを構築する方法の詳細な説明

Alibaba Cloud Image Repositoryを使用して外部イメージをダウンロードする...

アイデア展開Tomcatサービス実装プロセス図

まずプロジェクトの成果物を構成するスタートアップ項目の設定 Tomcatサービスを作成する開始したい...

Vueはタブを切り替えてデータの状態を維持する3つの方法を実装します

Vue でタブ切り替えを実装する 3 つの方法1. v-showはコンテンツの切り替えを制御します1...

LinuxデバッガGDBの基本的な使い方の詳細な説明

目次1. 概要2. gdbデバッグ2.1. ブレークポイントを設定する2.1.1. ブレークポイント...

Linux でも利用できる人気の Windows アプリ 10 選

データ分析会社Net Market Shareによると、Linuxデスクトップオペレーティングシステ...

2021年の花火効果をJSで描画(ソースコードダウンロード付き)

この作品はフロントエンド開発(JSコンテンツ)の知識を使用していますが、フロント部分の後半部分の知識...

この記事では、6つの負荷分散技術の実装方法をまとめます(要約)

ロード バランシングは、サーバー クラスタの展開でよく使用されるデバイスです。マシンのパフォーマンス...

kubernetes1.5.2 から kubernetes1.10 にアップグレードする際の主要な設定変更記録

この記事では、kubernetes1.5.2 から kubernetes1.10 にアップグレードす...

Vueでショッピングカートのすべての機能を実装する簡単な方法

主な機能は次のとおりです。製品情報を追加する製品情報を変更する単一の製品を削除する複数の製品を削除す...

MySQLクエリ結果をCSVにエクスポートする方法

MySQL クエリ結果をcsvにエクスポートするには、通常、php を使用して mysql に接続し...

CSS フォント、テキスト、リストのプロパティの詳細な紹介

1. フォントのプロパティcolorは、div{color:red;}のようにテキストの色を指定しま...

js を使用してファイルが UTF-8 でエンコードされているかどうかを判断する方法

従来の解決策FileReader を使用して UTF-8 形式のファイルを読み取り、ファイルの内容に...

Windows で MySQL のルート パスワードを忘れた場合にリセットする方法

私のマシン環境: Windows 2008 R2 MySQL 5.6 Baidu で「Windows...

Vue シングルページ SEO の 4 つのソリューションについての簡単な説明

目次1.Nuxtサーバーサイドレンダリングアプリケーションの展開(SSRサーバーレンダリング)利点:...