从docker运行docker时,权限被拒绝/var/run/docker.sock
我有一个容器,需要在其中使用另一个容器(第一个容器保存我的buildenv,一些项目是通过创建容器来构建的)。我在docker中阅读了关于避免docker的内容,并遵循了以下建议:因此,我像这样运行容器:从docker运行docker时,权限被拒绝/var/run/docker.sock,docker,docker-in-docker,Docker,Docker In Docker,我有一个容器,需要在其中使用另一个容器(第一个容器保存我的buildenv,一些项目是通过创建容器来构建的)。我在docker中阅读了关于避免docker的内容,并遵循了以下建议:因此,我像这样运行容器: docker run-v/var/run/docker.sock:/var/run/docker.sock-ti 6519bf891fee bash 这就是我在容器中运行docker hello world时得到的结果: root@345cf0f934c3:/# docker run hell
docker run-v/var/run/docker.sock:/var/run/docker.sock-ti 6519bf891fee bash
这就是我在容器中运行docker hello world时得到的结果:
root@345cf0f934c3:/# 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'.
srw-rw----. 1 root root 0 Nov 29 08:58 /var/run/docker.sock
sudo:x:27:build,docker
此外,尝试cat/var/run/docker.sock
会导致:
cat: /var/run/docker.sock: No such device or address
虽然ls-l/var/run/docker.sock
:
srw-rw----. 1 root root 0 Nov 29 11:58 /var/run/docker.sock
我在主机和容器中都以root用户身份运行,并已将docker用户添加到主机和容器中的sudoers组中。例如,在容器内:
root@345cf0f934c3:/# 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'.
srw-rw----. 1 root root 0 Nov 29 08:58 /var/run/docker.sock
sudo:x:27:build,docker
答案是:用
--privileged=true运行docker
试试这个方法docker run-v/var/run/:/var/run-ti-alpine/bin/sh
。映射路径,而不是文件。我得到了相同的错误