Как удалить образы на диске для Docker mac?

Я вижу много информации об удалении образов и контейнеров Docker, которые «висят/не используются», но как я могу удалить образы, которые не работают как контейнер, который я загрузил, используя docker-compose -f my-compose-file .ямл?

Когда я запускаю «docker system prune», а затем снова запускаю docker-compose, я получаю сообщения о том, что образы уже существуют. Я пытаюсь удалить из своей системы все существующие образы, которые ранее были загружены с помощью «docker-compose».


person u84six    schedule 14.06.2018    source источник


Ответы (4)


Проверьте этот пост. Это даст вам хорошее представление о том, как работать с изображениями. Или вкратце и в общем:

docker rmi $(docker images -aq)
person heldic    schedule 14.06.2018
comment
Кажется, это работает, но после того, как я выполню эту команду, а затем выполню «docker-compose -f my-compose-file.yaml up», в консоли появятся сообщения о том, что извлечение из «имя репо» ae79f2514705: уже существует , 5ad56d5fc149: уже существует... и т.д. Почему он обнаруживает, что эти изображения уже существуют, если я удалил их с помощью команды? - person u84six; 14.06.2018
comment
Здорово, что я смог помочь! Попробуйте запустить: docker rm $(docker ps -aq) -f после первого. Это должно немного очистить и может уже решить это поведение. - person heldic; 14.06.2018
comment
Да, ни одна из этих команд не работает для того, что я прошу. Как я уже говорил в своем предыдущем посте, при запуске docker-compose -f ‹yaml file› up docker обнаруживает, что изображения все еще существуют. В консоли написано 5ad56d5fc149: Уже существует. - person u84six; 19.06.2018
comment
возможно, из-за того, что предыдущая команда docker rm не увенчалась успехом на образе. это будут жалобы, такие как ответ на ошибку от демона: конфликт: невозможно удалить ссылку на репозиторий xxx (необходимо принудительно) - контейнер b59819d8837c использует ссылочный образ 8d0f2b719930 - person RyanShao; 20.11.2019

Описание docker system prune в документации очень краткое.

Удалить неиспользуемые данные

Можете ли вы попробовать запустить docker system prune --all, который, согласно документам, удаляет все неиспользуемые изображения, параметры флага --all

--all , -a Удалите все неиспользуемые изображения, а не только висящие.

Вы также можете попробовать использовать docker image prune --all, который используется для удаления только неиспользуемых образов, подробнее см. эту .

person namokarm    schedule 14.06.2018
comment
Это не работает. После выполнения всех этих команд, включая рекомендации @heldic, «docker-compose up» по-прежнему обнаруживает, что образы уже существуют. - person u84six; 19.06.2018

Я новичок в Docker и все еще изучаю его. Почему бы не попробовать docker image prune -a для удаления неиспользуемых образов, на которые не ссылается какой-либо контейнер, подробнее см. это . Хотя я думаю, что ваша система docker prune должна была сработать.

person tiktok    schedule 14.06.2018

Вы можете очистить артефакты Docker с помощью следующей команды (в зависимости от того, что вам нужно очистить):

docker container prune
docker image prune
docker network prune
docker volume prune

Эти команды поддерживают опцию «-a», которая удалит все артефакты, если они указаны (например, docker container prune -a удалит все контейнеры).

Если вам нужно очистить все, что вы можете использовать:

docker system prune -a
person Danylo Zatorsky    schedule 23.08.2018