Я пытаюсь запустить DooD (docker out of docker) в контейнере, который не является пользователем root.Есть ли возможность через SELinux предоставить определенному пользователю доступ к сокету докера (/var/run/docker.sock)
Я знаю метод группы докеров, но это не очень хорошая идея.
Я думал о настройке локального пользователя на сервере, на котором запущен docker с тем же UID, что и пользователь в контейнере, пытающийся создать контейнер.Это в OKD 3.10, поэтому наличие корневых пользовательских контейнеров - это большое нет.
Это не работает:
docker run -ti -v /var/run/docker.sock:/var/run/docker.sock toots bash
bash-4.4$ docker run hello-world
docker: Got permission denied while trying to connect to the Docker
daemon socket at unix:///var/run/docker.sock: Post
http://%2Fvar%2Frun%2Fdocker.sock/v1.39/containers/create: dial unix
/var/run/docker.sock: connect: permission denied.
See 'docker run --help'.
Это работает (очевидно):
docker run -ti -v /var/run/docker.sock:/var/run/docker.sock -u 0 toots bash
bash-4.4# docker run hello-world
Unable to find image 'hello-world:latest' locally
Trying to pull repository docker.io/library/hello-world ...
latest: Pulling from docker.io/library/hello-world
1b930d010525: Pull complete