Docker-compose should use npipe protocol on Windows by default,但它没有 . 以下日志证明(Win 10 pro 64位主机):
日志1:无法检索docker客户端和服务器主机的信息:无法连接到unix:///var/run/docker.sock上的Docker守护程序 . docker守护程序是否正在运行?日志2:提供程序连接错误无法连接到unix:///var/run/docker.sock上的Docker守护程序 . docker守护程序是否正在运行?
正如您在日志中看到的那样,尝试使用: unix:///var/run/docker.sock
. 这是一个UNIX套接字而不是管道(命名管道),Windows完全可以理解 .
好的,所以docker-compose的默认配置有问题 . 让我们显式设置管道,而不是UNIX套接字(using npipe of the long syntax):
#docker-compose.yml
version: '3.2'
services:
traefik:
image: traefik
command: --api --docker
ports:
- "80:80"
- "8080:8080"
volumes:
- type: npipe # here we are
source: ./pipe
target: /pipe/docker_engine
但猜猜怎么了?我们得到相同的UNIX套接字错误 .
我也试过了: - ./pipe/docker_engine://./pipe/docker_engine
,但又失败了 .
我在这里错过了什么?