Подтвердить что ты не робот

Как удалить несколько изображений докеров с тем же идентификатором изображения?

Я создал локальный реестр docker, а затем вытащил некоторые из моих изображений докеров из узла докеров, а затем перетащил их в локальный реестр. Теперь я хочу удалить свои локальные изображения. Но проблема здесь в том, что imageID изображений одинаковы, и я не могу их удалить. Я искал решение, но не смог найти решение.

>> docker images

REPOSITORY                     TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
localhost:5000/[repo1]        v-0.9.1              810001cb03af        4 weeks ago         594.6 MB
[myaccount]/[repo1]           v-0.9.1              810001cb03af        4 weeks ago         594.6 MB

как вы видите, image ID одинаковы для обоих изображений. Как их удалить?

ИЗМЕНИТЬ

  • моя версия докера:

    Docker version 1.8.2, build 0a8c2e3

  • вывод docker rmi 810001cb03af:

    Ответ на ошибку от демона: конфликт, не удается удалить изображение 810001cb03af, поскольку он помечен в нескольких хранилищах, используйте -f для принудительной ошибки: не удалось удалить изображения: [810001cb03af]

  • Если я сделаю docker rmi -f 81000, он удалит оба из них, и мне нужно снова вытащить.
4b9b3361

Ответ 1

Вот как вы могли это сделать. Выполните команду:

docker images | grep 810001cb03af | awk '{print $1 ":" $2}' | xargs docker rmi

где '810001cb03af' - ваш идентификатор изображения.

Ответ 2

Вот один из способов:

Данные репозитория и тега могут быть предоставлены команде "docker rmi" для удаления изображения, если идентификаторы изображений одинаковы.

команда

docker rmi [repository_name1]:[tag1] [repository_name2]:[tag2]

Пример

docker rmi test-nginx:latest ubuntu:latest

Примечание. Нужно назвать и пометить изображение соответствующим образом, чтобы использовать приведенную выше команду эффективно для требования, указанного в вопросе.

Обратитесь к документации Docker для справки "docker rmi": здесь

Ответ 3

Выполните следующую команду, чтобы удалить несколько изображений докеров с тем же идентификатором IMAGE.

sudo docker rmi -f **IMAGE ID**

Ответ 4

Этот сценарий описан точно в документации по rmi

Вы можете удалить изображение, используя его короткий или длинный идентификатор, его тег или его дайджест. Если изображение имеет один или несколько тегов, ссылающихся на него, вы должны удалить их все до удаления изображения. Ссылки на дайджест автоматически удаляются, когда изображение удаляется тегом.

$ docker images

REPOSITORY                TAG                 IMAGE ID            CREATED             SIZE
test1                     latest              fd484f19954f        23 seconds ago      7 B (virtual 4.964 MB)
test2                     latest              fd484f19954f        23 seconds ago      7 B (virtual 4.964 MB)

$ docker rmi fd484f19954f

Error: Conflict, cannot delete image fd484f19954f because it is tagged in multiple repositories, use -f to force
2013/12/11 05:47:16 Error: failed to remove one or more images

$ docker rmi test1

Untagged: test1:latest

$ docker images

REPOSITORY                TAG                 IMAGE ID            CREATED             SIZE
test2                      latest              fd484f19954f        23 seconds ago      7 B (virtual 4.964 MB)

$ docker rmi test2

Untagged: test2:latest
Deleted: fd484f19954f4920da7ff372b5067f5b7ddb2fd3830cecd17b96ea9e286ba5b8

Примечание. Это не множественные изображения с одинаковым идентификатором. Это на самом деле одно изображение, на которое ссылаются во множестве репозиториев (т.е. С учетом нескольких тегов)

Ответ 5

Я только что зарегистрировался в документах Docker, и я думаю, что это тоже можно сделать.

RMI

Вы можете удалить изображение, используя его короткий или длинный идентификатор, его тег или его дайджест. Если изображение имеет одну или несколько ссылок на тег или дайджест, вы должны удалить их все до удаления изображения.

поэтому вместо использования ID u вы можете сделать что-то вроде этого ---

$ docker rmi test1 Untagged: test1:latest $ docker rmi test2 Untagged: test2:latest

Ответ 6

Вам следует попробовать удалить изображения с помощью дайджеста,

    $ docker images --digests

    REPOSITORY                     TAG       DIGEST                                                                    IMAGE ID        CREATED         SIZE
    localhost:5000/test/busybox    <none>    sha256:cbbf2f9a99b47fc460d422812b6a5adff7dfee951d8fa2e4a98caa0382cfbdbf   4986bf8c1536

    $ docker rmi localhost:5000/test/[email protected]:cbbf2f9a99b47fc460d422812b6a5adff7dfee951d8fa2e4a98caa0382cfbdbf
     Untagged: localhost:5000/test/[email protected]:cbbf2f9a99b47fc460d422812b6a5adff7dfee951d8fa2e4a98caa0382cfbdbf

    Deleted: 4986bf8c15363d1c5d15512d5266f8777bfba4974ac56e3270e7760f6f0a8125
    Deleted: ea13149945cb6b1e746bf28032f02e9b5a793523481a0a18645fc77ad53c4ea2
    Deleted: df7546f9f060a2268024c8a230d8639878585defcc1bc6f79d2728a13957871b