无法从容器内连接到Docker守护程序
我运行一个需要访问主机Docker引擎的容器(cAdvisor) 当我使用命令行将其作为服务运行时,一切正常:无法从容器内连接到Docker守护程序,docker,docker-compose,Docker,Docker Compose,我运行一个需要访问主机Docker引擎的容器(cAdvisor) 当我使用命令行将其作为服务运行时,一切正常: docker service create --name cadvisor --network clusternetwork -p 8080:8080 --mount type=bind,src=/var/run/docker.sock,dst=/var/run/docker.sock,ro --mount type=bind,src=/,dst=/rootfs,r
docker service create --name cadvisor
--network clusternetwork -p 8080:8080
--mount type=bind,src=/var/run/docker.sock,dst=/var/run/docker.sock,ro
--mount type=bind,src=/,dst=/rootfs,ro
--mount type=bind,src=/sys,dst=/sys,ro
--mount type=bind,src=/var/lib/docker,dst=/var/lib/docker,ro
gcr.io/google-containers/cadvisor:latest
但是,当我将以下服务转换为docker compose文件并使用docker stack deploy-c myCadvisor-compose.yml cAdvisor
运行它时,它不起作用,我得到以下错误:无法获取docker信息:无法在unix:///var/run/docker.sock. docker守护进程正在运行吗?
这是我的docker文件。我是不是忘了把上面服务电话的内容转置了
version: "3.7"
services:
cadvisor:
image: gcr.io/google-containers/cadvisor:latest
ports:
- 8080:8080
volumes:
- /var/run/docker.sock:/var/run/docker.sock,ro
- /:/rootfs,ro
- /sys:/sys,ro
- /var/lib/docker:/var/lib/docker,ro
networks:
- clusternetwork
networks:
clusternetwork:
external: true
我已经测试了你的代码。主要问题是“您必须放置一个”:。RW或RO不重要。在我的例子中,工作的是这样的:
volumes:
- /:/rootfs:ro
- /var/run/docker.sock:/var/run/docker.sock:rw
- /sys:/sys:ro
- /var/lib/docker/:/var/lib/docker:ro
干杯朱尔斯试着加上:ro而不是,ro@StefanAvramovic是的,其实很简单。非常感谢。这个坐骑不适合我!你的错误信息是什么?