Dockerでイメージを削除する方法

Dockerでイメージを削除する方法

dockerでイメージを削除するコマンドはdocker rmiですが、このコマンドを実行してもイメージが削除できない場合があります。

[yaxin@ubox ~]
$docker イメージ
リポジトリ タグ イメージ ID 作成 仮想サイズ
eg_sshd 最新 ed9c93747fe1 45 時間前 329.8 MB
CentOS65 最新 e55a74a32125 2日前 360.6 MB
[yaxin@ubox ~]$docker rmi ed9c93747fe1
タグなし: ed9c93747fe16627be822ad3f7feeb8b4468200e5357877d3046aa83cc44c6af
[yaxin@ubox ~]$docker イメージ
リポジトリ タグ イメージ ID 作成 仮想サイズ
<なし> <なし> ed9c93747fe1 45 時間前 329.8 MB
CentOS65 最新 e55a74a32125 2日前 360.6 MB

イメージは削除されていないが、タグが削除されていることがわかります。docker rmi IMAGE_ID を再度実行すると、エラーが発生するだけです。

[yaxin@ubox ~]
$ docker rmi ed9c93747fe1
エラー: image_delete: 競合、ed9c93747fe1 は削除されませんでした
2014/03/22 15:58:27 エラー: 1 つ以上の画像を削除できませんでした

dockerヘルプを見ると、削除に関連する2つのコマンド、rmとrmiが見つかります。

rm 1つまたは複数のコンテナを削除する
rmi 1つ以上の画像を削除する

ここには、イメージとコンテナという 2 つの異なる単語があります。イメージは分かりやすいです。私たちが普段使っている仮想マシンのイメージと同じ意味を持ち、テンプレートに相当するものですが、コンテナはイメージが動作している時の状態です。 Docker は実行されたイメージごとにステータス (コンテナ) を保持します。実行中のコンテナを表示するには、docker ps コマンドを使用します。終了したコンテナを表示するには、docker ps -a を使用します。 コンテナを終了したときにその中のデータを保存し忘れた場合は、docker ps -a を使用して対応する実行中のコンテナを見つけ、docker commit コマンドを使用してそれをイメージとして保存してから実行することができます。

前の質問に戻りますが、イメージはコンテナによって参照(実行に使用)されるため、参照先のコンテナが破棄(削除)されなければ、イメージは削除できません。

したがって、実行されたイメージを削除する場合は、まずそのコンテナを削除する必要があります。前の例を続けましょう。

[yaxin@ubox ~]
$ docker ps -a
コンテナID イメージ コマンド 作成ステータス ポート名
117843ade696 ed9c93747fe1 /bin/sh -c /usr/sbin 46 時間前 46 時間前 0.0.0.0:49153->2​​2/tcp test_sshd

イメージ ed9c93747fe1 はコンテナ 117843ade696 によって使用されているため、まずコンテナを削除する必要があることがわかります。

[yaxin@ubox ~]
$ docker rm 117843ade696
エラー: container_delete: 実行中のコンテナを削除できません。まずコンテナを停止してください
2014/03/22 16:36:44 エラー: 1 つ以上のコンテナの削除に失敗しました

コンテナが実行中であるためエラーが発生しました(表示するにはdocker psを実行してください)。まずコンテナを閉じてください。

[yaxin@ubox ~]
$ docker stop 117843ade696
117843ade696
[yaxin@ubox ~]
$ docker rm 117843ade696
117843ade696
[yaxin@ubox ~]$docker rmi ed9c93747fe1
削除済み: ed9c93747fe16627be822ad3f7feeb8b4468200e5357877d3046aa83cc44c6af
削除済み: c8a0c19429daf73074040a14e527ad5734e70363c644f18c6815388b63eedc9b
削除済み: 95dba4c468f0e53e5f1e5d76b8581d6740aab9f59141f783f8e263ccd7cf2a8e
削除済み: c25dc743e40af6858c34375d450851bd606a70ace5d04e231a7fcc6d2ea23cc1
削除済み: 20562f5714a5ce764845119399ef75e652e23135cd5c54265ff8218b61ccbd33
削除済み: c8af1dc23af7a7aea0c25ba9b28bdee68caa8866f056e4f2aa2a5fa1bcb12693
削除済み: 38fdb2c5432e08ec6121f8dbb17e1fde17d5db4c1f149a9b702785dbf7b0f3be
削除済み: 79ca14274c80ac1df1333b89b2a41c0e0e3b91cd1b267b31bef852ceab3b2044
[yaxin@ubox ~]$docker イメージ
リポジトリ タグ イメージ ID 作成 仮想サイズ
CentOS65 最新 e55a74a32125 2日前 360.6 MB

画像が削除されたことがわかります。

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • kubernetes1.20 で docker (shim) を containerd に置き換える問題について説明します。
  • Dockerコンテナを終了した後も実行を継続する方法
  • Dockerは異常なコンテナ操作を排除する
  • さようなら Docker: 5 分で Containerd に移行する方法
  • Dockerはコンテナにポートを動的に公開します
  • Dockerイメージ内のnoneイメージ操作を削除する
  • Dockerイメージのローカル移行の実装
  • Dockerイメージが消える問題を解決する
  • Docker イメージを削除できません エラー: そのようなイメージはありません: xxxxxx 解決策
  • Docker でのコンテナとイメージの命名

<<:  Reactマウスの複数選択機能の設定方法

>>:  MySQL Installer Community 5.7.16 インストール詳細チュートリアル

推薦する

Kubernetes オブジェクトボリュームの詳細な使用方法

概要ボリュームは、さまざまなストレージ リソースを抽象化および仮想化したものです。ストレージ リソー...

Javascript ファイルと Blob の詳細な説明

目次ファイル()文法パラメータ例ブロブ()文法パラメータ財産方法例要約するファイル() File()...

CSSフローティングとフローティング解除について

フロートの定義要素を通常のドキュメント フローから外し、要素を左また​​は右に近づけます。親要素の端...

Windows 10 での MySQL 8.0.20 のインストールと設定方法のグラフィック チュートリアル

Win10システムにMySQL8.0.20をローカルにインストールし、個人的にテストして利用可能であ...

HTML文書の基本構造(Webページ作成の基礎知識)

HTMLの動作原理: 1. ローカル操作: ブラウザでhtmlファイルを開く2. リモートアクセス...

Nginx サービス クイック スタート チュートリアル

目次1. Nginx の紹介1. Nginx とは何ですか? 2. Nginx を使用する理由3. ...

MySQLに画像を保存する方法

1 はじめにデータベースを設計する場合、画像や音声ファイルをデータベースに挿入することは避けられませ...

Nginx で HTTPS 証明書を構成する詳細なプロセス

1. HttpとHttpsの違いHTTP: インターネットで最も広く使用されているネットワーク プロ...

WeChatアプレットが計算機機能を実装

WeChatミニプログラムはますます人気が高まっています。多くの大学生が独学で学んでいるのも見てきま...

Vue3 Vue CLI マルチ環境設定

目次1. はじめに2. 切り替え1. 開発および本番環境の設定ファイルを追加する2. 複数の環境をサ...

Tencent Cloud Server Tomcat ポートにアクセスできない場合の解決策

最近、Tencent Cloudを使用してサーバーを設定しました。使用中に、tomcatポートにアク...

MySql 共通クエリコマンド操作リスト

MYSQL でよく使用されるクエリ コマンド: mysql> select version()...

nginx を https をサポートするように設定するためのサンプル コード

1. はじめにあなたのウェブサイトはまだインターネット上に公開されたままですか?ここでは、HTTPS...

Windows 10 での MySQL 8.0.22 のインストールと設定方法のグラフィック チュートリアル

MySQL 8.0.22のインストールと設定方法のグラフィックチュートリアル、参考までに、具体的な内...

HTML で Flash を読み込む方法 (2 つの実装方法)

最初の方法: CSSコード:コードをコピーコードは次のとおりです。 .b970-a{幅:970px;...