У меня есть простой Dockerfile , основанный на debian
FROM debian
USER 1001
Я создаю его
docker build -t no-root:1 .
Я запускаю его
docker run --name test -it no-root:1
Теперь у меня есть некорневая оболочка
I have no name!@2ac786ca2265:/$
Но я могу exec
в контейнер из другой оболочки с
docker exec -it --user 0 test bash
И яполучить root shell
root@e043edec4585:/#
и запустить root команды ...
Возможно ли удалить root пользователь из системы во время сборки, поэтому docker exec -it --user 0 test bash
потерпит неудачу?
Я попытался удалить строку root
из /etc/passwd
и /etc/group
.Это не помогло.Я могу docker exec -it --user 0 test bash
in.
Итак, есть ли способ?