Всем привет!
Делаю по официальной инструкции запуск docker в своем окружении имен:
- создаю пользователя testuser, добавляю его в группу docker;
- настраиваю запуск демона docker в namespase пользователя testuser;
dockerd --userns-remap="testuser:testuser";
- перезапускаю демон:
service docker restart
- запускаю для проверки namespace
docker run hello-world
- смотрю содержимое ls -ld /var/lib/docker/231072.231072/
а там пусто.......
Подскажите что я делаю не так?Почему создается папка для пользовательского окружения, но работает докер по прежнему в своем прежнем окружении
Георг Гаал, да он запущен от рута, но мне нужно чтоб он был запущен в своём собственном пространстве как это указано в документации официальной docker.
1. мне кажется, что эта штука вызывает больше проблем, чем решает
2. конечная цель все-таки какая? вряд ли это добавит сильно много к безопасности (докер и безопасность? ну-ну)
3. демон как настраиваете? оптимальнее всего через /etc/docker/daemon.json
4. файлы /etc/subuid и /etc/subgid созданы?
5. docker inspect для docker run hello-world что показывает?
Георг Гаал, цель повысить безопасность контейнера использую комплексное решение описанное в документации: я хочу использовать такую связку:
cap-drop...+namespace+apparmor
Вот осталось запустить демон из под пользователя что тем самым все же усложнить прорыв контейнера на хостовую машину.
Касательно докера - все равно остается доступ к самому демону. И любой пользователь, который имеет sudo или включен в группу докер, может скомпрометировать систему. Решением выглядит использование оркестраторов вроде kubernetes/nomad, в которых есть RBAC. И они отрезают пользователя от демона. Все управление идет через API оркестратора. В том же направлении движется редхат со своим podman.
Георг Гаал, rootless еще свеж и там не так все отлажено, мне кажется там большие костыли...я думаю со временем они конечно сделают более интегрированное решение. С орекстрацией не знаю сейчас стоит ли заморачиваться, у меня на хосте живут однотипные контейнеры. Что скажете?
все равно придется управлять парком контейнеров - просто без оркестратора это будет набор баш скриптов или ансибл плейбук. Оценить удобство и предоставляемые возможности можете сами.