Я знаю, что подобные вопросы были заданы раньше, но я не могу найти что-либо, что делает именно то, что мне нужно. Я также спрашивал на форумах Docker Community, но никто не мог помочь.Простой скрипт, необходимый для удаления всех изображений докеров старше 4 недель
У меня нет доступа к новой команде docker image prune
, так как я не могу выполнить обновление с текущей версии 1.11.2 до последней версии 1.1, но мне нужен простой скрипт, который можно запустить под cron, чтобы удалить все изображения , болтается или нет, старше 1 месяца. Мне не нужно беспокоиться о контейнерах, поскольку это из репо, которое хранит только изображения.
Если Докер изображение сообщило «4 недели», как «1 месяц», было бы просто, я мог бы использовать что-то вроде
docker images | grep " [months]* "
и трубы вывода к команде docker rmi
. Однако, поскольку он, кажется, сообщает в «недели» до 11 недель, и только «месяцы», когда изображение составляет 3 месяца или более, я не могу этого сделать.
docker images | grep " [months|weeks]* ago" | awk '{print $3,$4,$5}'
даст мне этот выход ::
6828f152f9cc 2 weeks
52a7412befd3 2 weeks
04c2b29e5e08 2 weeks
cdfb37d22663 2 weeks
ca38a8cabb2b 3 weeks
8b043f2395ba 3 weeks
2aa8b20380a0 3 weeks
1ac7dcf35935 9 weeks
f80873c4845b 9 weeks
d5700d37ee95 9 weeks
594dc21de8de 9 weeks
0c9dacb7fa7c 10 weeks
11f3eec60e17 3 months
b13ebf1a4999 3 months
68b0d6a3be3b 7 months
baadc9c8b0ce 8 months
10eb0d6b2b99 9 months
... но я застрял, пытаясь выяснить, как проверить $ 4, $ 5, чтобы включать только что-нибудь, что это либо «месяца» или> = «4 недели», которые затем могут быть переданы в докер rmi. Есть ли какие-либо подсказки для простого кода, который может это сделать, пожалуйста?
Я предпочел бы использовать 'Докер инспектировать $ (Докер изображения -q)' и найти нужное поле – user2915097