Я запускаю контейнер Docker, который сам запускает Docker, и вместо использования образа dind, поскольку для этого требуется priv, я монтирую в контейнер docker.sock хоста. Однако всякий раз, когда я пытаюсь получить доступ к сокету внутри контейнера, я получаю ...
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.26/containers/json: dial unix /var/run/docker.sock: connect: permission denied
Что я уже сделал:
1) Установлена розетка в контейнер. Из моего скрипта, который запускает контейнер ....
docker run -i -t -v /var/run/docker.sock:/var/run/docker.sock....
2) Гарантировано, что мои мои хост-пользователь и контейнер-пользователь имеют одинаковый UID, и что мои host-docker-group и container-docker-group имеют одинаковый GID, и что пользователь в контейнере является участником упомянутой группы ....
С хоста ...
uid=1000(foo) gid=1000(foo) groups=1000(foo),1001(docker)...
Из контейнера:
uid=1000(bar) gid=1000(bar) groups=1000(bar),1001(docker)
3) Я даже гарантировал, что список каталогов для сокетов в хосте и контейнере идентичен
С хоста ....
srw-rw----. 1 1000 1001 system_u:object_r:container_var_run_t:s0 0 May 7 09:15 /var/run/docker.sock
Из контейнера ....
srw-rw----. 1 1000 1001 system_u:object_r:container_var_run_t:s0 0 May 7 13:15 /var/run/docker.sock
Тем не менее, в контейнере, будь то пользователь root или другой пользователь, я получаю сообщение об отказе в разрешении. Будем весьма благодарны за любые предложения по его решению.