Неправильно смонтированный том докера, который нельзя удалить - PullRequest
1 голос
/ 27 июня 2019

Я попытался смонтировать том с помощью Docker Run, но я поставил не ту папку. Это команда, которую я сделал:

docker run --name my-apache -p 80:80 -d -v ~/home/myusername/html:/usr/local/apache2/htdocs/ httpd:2.4

Обратите внимание на ~ перед /home/myusername ... Я не должен был помещать туда ~, потому что он создал папку /home/myusername/home/myusername/...

Я попытался удалить том с помощью: docker rm -f -v my-apache но безрезультатно. У меня нет sudo на этой машине. Я просто обречен иметь другую домашнюю папку, которую невозможно удалить?

1 Ответ

0 голосов
/ 27 июня 2019

Вы можете использовать читы и воспользоваться контейнерными процессами, запущенными от имени пользователя root, чтобы получить root-доступ.

Смонтируйте ~ как объем внутри простого контейнера, подобного alpine. Подойдет любой базовый контейнер с rm, такой как alpine, debian или fedora. Команды запускаются как root по умолчанию; rm -rf внутри контейнера сможет удалить что угодно.

docker run -it --rm -v ~:/home alpine rm -rf /home/home

Будьте внимательны при запуске rm -rf от имени root! Обычно нет никакой опасности, так как он может только удалить вещи внутри контейнера. Но если вы смонтируете каталог с хоста, то все, что находится внутри каталога, является честной игрой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...