![](/img/trans.png)
[英]Unable to run docker within the container. Cannot connect to the Docker daemon at unix:///var/run/docker.sock
[英]Cannot connect to the Docker daemon from within container
我運行一個需要訪問主機的 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,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 守護進程是否正在運行?
這是我的 docker-compose 文件。 我是否忘記從上述服務電話中轉置某些內容?
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
干杯朱爾斯
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.