我正在无根模式下运行docker,因此docker.sock
文件处于$XDG_RUNTIME_DIR/docker.sock
。何处
$ echo $XDG_RUNTIME_DIR
/run/user/1000
我正试图在docker内部运行docker客户端。因此,我尝试了以下命令。
$ docker run -it -v /run/user/1000/docker.sock:/run/user/1000/docker.sock docker sh
/ # docker run -it ubuntu bash
docker: Cannot connect to the Docker daemon at tcp://docker:2375. Is the docker daemon running?.
See 'docker run --help'.
docker守护进程正在运行,否则它将无法运行该命令。但是,我认为docker容器中的docker客户端无法连接到容器外部的docker守护进程。
我能做些什么来修复这个错误?
OP在这里,解决方案似乎是
docker run -it -v /run/user/1000/docker.sock:/var/run/docker.sock docker sh
这是因为,docker
映像中的docker不是无根的。所以,它们的套接字在/var/run/docker.sock
中。