web-dev-qa-db-ja.com

画像自体を削除せずにDockerで画像タグを削除するにはどうすればよいですか?

Dockerイメージにタグを付けてタイプミスを作りたいとしましょう。画像自体を削除せずにタグを削除するにはどうすればよいですか?マンページもDockerドキュメントもタグの削除について言及していません。

docker tag 0e5574283393 my-imaj
docker tag 0e5574283393 my-image
# docker untag my-imaj # There is no "docker untag"!
156
Mihai

画像に複数のタグが付けられている場合は、docker rmiはタグを削除しますが、画像は削除しません。

だからあなたの例では...

# docker rmi my-imaj

...そのタグを削除し、画像を他の正しいタグとともに残します。

227

docker rmi REPOSITORY:TAGを実行してタグを削除します。

REPOSITORYTAGの値は、docker imagesの出力から得られます。

例えば

$ docker rmi my-image:0e5574283393
Untagged: my-image:0e5574283393
24
ashishjain

空のDockerリポジトリから始めて、次のように入力して画像をインポートします。

#docker run hello-world

docker imagesコマンドを実行して、イメージを一覧表示します。結果は次のようになります。

REPOSITORY        TAG           IMAGE ID          CREATED           SIZE
hello-world       latest        7bc42cc48a84      4 weeks ago       316MB

次に、docker tagコマンドを実行して、v1というイメージタグを作成します。

#docker tag hello-world:latest hello-world:v1

docker imagesコマンドを実行すると、次のような新しいタグが表示されます。

REPOSITORY        TAG           IMAGE ID          CREATED           SIZE
hello-world       latest        7bc42cc48a84      4 weeks ago       316MB
hello-world         v1          7bc42cc48a84      4 weeks ago       316MB

特定のタグを削除するには(元の質問に答えるため)、docker rmi hello-world:v1を実行します。ここで、v1はタグ名です。出力は次のようになります。

#docker rmi hello-world:v1
Untagged: hello-world:v1

docker imagesコマンドを実行して、イメージを一覧表示します。画像タグが削除されていることに注意してください。

REPOSITORY        TAG           IMAGE ID          CREATED           SIZE
hello-world       latest        7bc42cc48a84      4 weeks ago       316MB
19

タグ名で他の画像にタグを付けると、現在の画像からタグが削除されます。

0
Nikolay