bind mount /proc в контейнере Docker с включенными пространствами имен пользователей

Мой dockerd (CentOS7: 17.12.0-ce, сборка c97c6d6) работает с включенными пространствами имен пользователей для лучшей изоляции.

Теперь я создаю образ, который должен считываться для целей мониторинга также из / proc ядра. Таким образом я попытался смонтировать / proc на / host / proc в контейнере

host> docker run --network=host --userns=host --pid=host --privileged -v /proc:/host/proc:ro --name mycontainer  my/container20180204

и bind-mount во время запуска контейнера через представление пространства имен proc для контейнеров

docker> mount -o bind /host/proc /proc

Однако, при событии с пространством имен пользователя хоста, корневой процесс контейнера, очевидно, выполняется в отображении пространства имен пользователя dockerd, так как корень контейнера не может связать mount / proc

mount: only root can use "--options" option (effective UID is 100000)

Запуск от имени непривилегированного пользователя не работает, так как он пытается смонтировать его как настоящую файловую систему (?!?) Из слоев

 /var/lib/docker/100000.100000/btrfs/subvolumes/${SHA256}/proc\\\\\\\" cannot be mounted because it is located inside \\\\\\\"/proc\\\\\\\"\\\"\"": unknown.

Итак, я боюсь, что ограничения пространства имен пользователя хороши и не могут быть обойдены...? https://docs.docker.com/engine/security/userns-remap/

0 ответов

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