Очистка места на диске после docker

Thank you for reading this post, don't forget to subscribe!

Тех­но­ло­гия Docker поз­во­ля­ет упа­ко­вать при­ло­же­ние или сер­вис в кон­тей­нер, кото­рый лег­ко может быть запу­щен в любом окру­же­нии. Одна­ко при актив­ной рабо­те с Docker жест­кий диск быст­ро засо­ря­ет­ся неис­поль­зу­е­мы­ми обра­за­ми, кон­тей­не­ра­ми и тома­ми данных.

Давай­те раз­бе­рем­ся с набо­ром инстру­мен­тов для чист­ки систе­мы, предо­став­ля­е­мым Docker и рас­смот­рим несколь­ко примеров!

Для очист­ки неис­поль­зу­е­мых дан­ных мож­но вос­поль­зо­вать­ся командой:

Одна­ко дан­ная коман­да появи­лась в docker-engine начи­ная с вер­сии 1.13.0, а в преды­ду­щих вер­си­ях при­хо­ди­лось исхит­рять­ся само­сто­я­тель­но. Напри­мер, что­бы уда­лить недей­стви­тель­ные обра­зы (у кото­рых нет мет­ки), я вво­дил в консоли:

Как ока­за­лось, все мож­но было сде­лать намно­го про­ще. Для поис­ка недей­стви­тель­ных обра­зов исполь­зу­ет­ся команда:

Тогда для уда­ле­ния ненуж­ных обра­зов можем исполь­зо­вать конструкцию:

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

Для уда­ле­ния оста­нов­лен­ных кон­тей­не­ров ранее я исполь­зо­вал команду:

Но гораз­до про­ще вос­поль­зо­вать­ся вве­сти в консоли:

В идео­ло­гии docker том хра­не­ния дан­ных дол­жен суще­ство­вать неза­ви­си­мо от кон­тей­не­ра. Сле­до­ва­тель­но, когда кон­тей­нер уда­ля­ет­ся, том не уда­ля­ет­ся авто­ма­ти­че­ски. Он оста­ёт­ся в систе­ме, хотя боль­ше не обслу­жи­ва­ет ни один кон­тей­нер. Для уда­ле­ния неис­поль­зу­е­мых томов в ран­них вер­си­ях docker мож­но было исполь­зо­вать сле­ду­ю­щий скрипт:

Начи­ная с вер­сии docker-engine 1.9 все неис­поль­зу­е­мые (недей­стви­тель­ные) тома мож­но най­ти с помощь такой командой:

а уда­лить с помо­щью такой: