Использование ecryptfs внутри Docker без --privileged. Подходящее значение для --device?

Мне необходимо настроить контейнер Docker, внутри которого часть файловой системы зашифрована. Пожалуйста, давайте не будем останавливаться на том, почему, ответ уродлив и скорее политический, чем технический.

В случае, если это имеет значение, конкретная часть, которая будет зашифрована, будет монтироваться на томе с хоста, хотя я изначально пробую это только в /tmp, Из-за того, как работает наше развертывание, было бы неудобно делать ecryptfs прямо на томе, вне контейнера; Я хочу сделать монтирование внутри как часть сценария оболочки, запущенного как CMD,

Я могу сделать это хорошо при условии, что я запускаю контейнер с --privileged (благодаря этому подробному комментарию) - но я не хочу предоставлять все, что идет с этим. Методом проб и ошибок я обнаружил, что добавление --cap-add IPC_LOCK преодолевает первую непостижимую ошибку (Exiting. Unable to obtain passwd info) но процесс позже терпит неудачу с этим:

mount: block device /tmp/enc is write-protected, mounting read-only
mount: cannot mount block device /tmp/enc read-only
Error mounting eCryptfs: [-1] Operation not permitted
Check your system logs; visit <http://ecryptfs.org/support.html>

Добавление всех возможностей здесь не помогает - проблема кроется в другом.

Документы, управляемые докером, говорят, что --privileged также устраняет барьеры, связанные с --device параметр, дает предохранитель в качестве примера того, что нужно --device установить, и показывает довольно похожие ошибки в примере "до". ecryptfs и fuse, кажется, имеют определенное общее количество, так что это хорошая подсказка.

Я пытался добавить --device /tmp/enc к моему docker run команда, безрезультатно (хост не знает об этом пути, что имеет смысл). Я также заметил, что есть /dev/ecryptfs (хотя я не знаю, что он делает) и попробовал это. Контейнер запустился, но монтирование ecryptfs не сработало.

Это начинает беспокоиться, как будто это не может быть сделано... Есть идеи?

1 ответ

Кажется, что фактические драйверы хранилища, используемые докером, не работают на eCryptFS.

Проверьте эти проблемы в хранилище.

Другие вопросы по тегам