Docker 装载特定于操作系统的卷
我试图设置一个filebeat docker容器,它需要从所有其他运行的容器访问生成的docker日志。为此,我装载了如下卷:Docker 装载特定于操作系统的卷,docker,docker-compose,Docker,Docker Compose,我试图设置一个filebeat docker容器,它需要从所有其他运行的容器访问生成的docker日志。为此,我装载了如下卷: filebeat: build: filebeat volumes: - /var/lib/docker/containers:/var/lib/docker/containers:ro - /var/run/docker.sock:/var/run/docker.sock depends_on: - el
filebeat:
build: filebeat
volumes:
- /var/lib/docker/containers:/var/lib/docker/containers:ro
- /var/run/docker.sock:/var/run/docker.sock
depends_on:
- elk
我的问题:
docker日志的路径取决于docker compose运行的机器。上述方法适用于Linux,但不适用于我的windows计算机。当我运行上述命令时,会出现以下错误:
错误:for filebeat无法为服务filebeat创建容器:
b'装载被拒绝:\n源路径
“\\var\\lib\\docker\\containers:/var/lib/docker/containers”\nis
不是有效的Windows路径'
我必须将
COMPOSE\u CONVERT\u WINDOWS\u path
env变量设置为1。使用Windows Powershell只需运行以下命令:
$Env:COMPOSE_CONVERT_WINDOWS_PATHS = "1"
要检查是否已实际设置,请运行:$Env:COMPOSE\u CONVERT\u WINDOWS\u path
然后重新启动docker compose:
docker-compose stop
docker-compose up