LINUX.ORG.RU
решено ФорумAdmin

Удаление файлов созданных в предыдущем слое Docker.

 


0

1

Всем привет,

возможно ли удалить файлы из запущенного контейнера Docker.

Например при rm ./anaconda-post.log получаем, что-то подобное

???????????   ? ?    ?       ?            ? anaconda-post.log



Последнее исправление: ilovemoney (всего исправлений: 1)

Из готового образа никак,хотя был анонс,что они позволят манипулировать слоями,но что-то пошло не так и это заглохло. отвечая на твой вопрос

возможно ли удалить файлы из запущенного контейнера Docker

Да,можно.

docker exec id rm ./anaconda-post.log

olovo
()

Никак. Только пересобирать образ. Из-за того, что контейнер - это дополнительный слой поверх слоев образа.

Shtsh ★★★★
()
Ответ на: комментарий от Shtsh

Странно, в версии 1.12 я мог удалять, а в > 1.13 уже нет=( Если в крации то у меня есть кейс, может кто-то знает как можно решить. Мы делаем некий master образ на который накатываем релиз среды, и фишка в том, что в релизе может быть ситуация, что нужно удалить либу.

ilovemoney
() автор топика
Ответ на: комментарий от ilovemoney

Так должно быть нормально. В твоем контейнере не будет видно «удаленного» файла, хотя он останется в образе.

 ↳  docker run -ti alpine sh
/ # rm /bin/sh
/ # ls /bin/sh
ls: /bin/sh: No such file or directory
/ #                                                                                                                                                                                                   
 ↳  docker run -ti alpine sh
/ # ls -la /bin/sh
lrwxrwxrwx    1 root     root            12 May  9 22:52 /bin/sh -> /bin/busybox
/ #
Shtsh ★★★★
()
Ответ на: комментарий от Shtsh

Вы все не правы.

Удалить можно. Проблема была в том, что centos/rhel не поддерживают ничего, кроме devicemapper, в тоже время по умолчанию ставится overlay

For the systems where it is supported, devicemapper support is included in the Linux kernel. However, specific configuration is required to use it with Docker. For instance, on a stock installation of RHEL or CentOS, Docker will default to overlay, which is not a supported configuration.
https://docs.docker.com/engine/userguide/storagedriver/selectadriver/

Поменял на devicemapper, теперь можно rm -rf /* делать и все ок.

Рекомендую не использовать RHEL/CentOS для Docker хоста.

Как бы не звучало, но используйте Ubuntu

ilovemoney
() автор топика
Ответ на: комментарий от ilovemoney

centos/rhel не поддерживают ничего, кроме devicemapper

4.2 и даже не краснеешь.

slaykovsky ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.