Это мой текущий рабочий процесс docker / docker-compose:
- Внести некоторые изменения в код
sudo docker build --rm . -t image_name
- Ctrl + C
docker-compose
process
sudo docker-compose down
sudo docker-compose up
Почему тогда, когда я запускаю docker system prune , объем удаленного пространства увеличивается пропорционально количеству повторений этого процесса? Использование sudo docker build --rm . -t image_name
:
deleted: sha256: blablablah
deleted: sha256: ...
deleted: sha256: blablablah
Total reclaimed space: 1.948GB // Roughly proportional to the number of build runs
У меня сложилось впечатление, что sudo docker build --rm . -t image_name
, используя - rm , удалит все промежуточные изображения и контейнеры. Или это просто изображения, которые автоматически удаляются, а старые контейнеры сохраняются? Если да, есть ли способ очистить прошлые контейнеры и образы в каждой сборке Docker, не забывая периодически запускать удаление системы Docker? Должен ли я создать работу, чтобы автоматизировать это в разработке?
РЕДАКТИРОВАТЬ : я не думаю, что мой вопрос является дубликатом этого вопроса . Когда я запускаю sudo docker images
, контейнеров <none>
нет. Таким образом, вопрос не является дубликатом вопроса: « Что такое <none>
хранилище и теги? Почему они появляются, когда я использую сборку Docker? ». мой вопрос, кажется, в комментариях:
Вы создали образ с помощью докера build -t myname / NewImage: 0.1. Больше
чем один раз. В первый раз, когда вы делаете это, он создает изображение с тегом
с моим именем / NewImage: 0,1. Во второй раз, когда вы делаете это, он создает
новое изображение, которое получает тег myname / NewImage: 0.1, оставляя первый
изображение, которое вы создали с тегами <none>
Этот комментарий точен, но у меня, похоже, нет контейнеров <none>
. Далее, даже с этим комментарием, мой следующий вопрос о том, как избежать этого, остается без ответа:
- "... есть ли способ убрать прошлые контейнеры и изображения на каждом
Сборка Docker без необходимости иногда запускать Docker
система удаления? «