Я пробовал launcher cleanup, а также docker images prune -a, и оба варианта приводят к тому, что образ discourse/base теряет тег и отображается так:
# docker images -a
REPOSITORY TAG IMAGE ID CREATED SIZE
local_discourse/app latest a413ce7df724 22 minutes ago 3.81GB
<none> <none> 036fcfb18c90 5 weeks ago 2.86GB
Образ discourse/base отображается как <none>. Сайт при этом работает нормально. Стоит ли беспокоиться?
Если запустить launcher app rebuild, то теги восстанавливаются, но пересобирается и образ приложения. В результате у меня оказывается два образа приложения, один из которых является «висячим» (dangling). Поэтому, если я хочу очистить неиспользуемые образы, не теряя теги, мне приходится вручную удалять конкретный висячий образ с помощью docker image rm $IMAGE_ID. После этого я вижу то, что было изначально, то есть полностью размеченные и именованные образы:
# docker images -a
REPOSITORY TAG IMAGE ID CREATED SIZE
local_discourse/app latest 548674fae97b 10 minutes ago 3.81GB
discourse/base 2.0.20230711-0100 036fcfb18c90 5 weeks ago 2.86GB
Похоже, что без ручного удаления невозможно выполнить полную очистку, если не хочется оставлять образы без тегов, поскольку команда prune снимает теги с базового образа.
Спасибо за подсказку, я не нашел эту тему при поиске. Просматривая этот конкретный пост с «инструкциями» (они из форума Docker, где обсуждаются контейнеры Docker в целом):
… ситуация выглядит похожей на ту, которую я наблюдаю, но непонятно, предусмотрено ли наличие двух образов: discourse/base и discourse_latest/app. Инструкции из этого [поста на форуме Docker, похоже, исходят из того, что это не было запланированным поведением, а стало результатом непреднамеренных действий, приведших к созданию двух образов вместо одного.
Мог бы кто-то компетентный (разработчик?) это подтвердить?