我正在使用docker compose文件进行堆栈部署。我的Docker客户端是17.04。这是令人讨厌的撰写文件片段:
version: '3.1'
services:
identityservice:
image: registry.mms.local/identityservice:1.94.20117
networks:
- microlise_net
depends_on:
- identityservicedb1
- identityservicedb2
- identityservicedb3
- identityservicedbarbiter
volumes:
- C:\var\storage\logs:C:\storage\logs
deploy:
placement:
constraints: [node.labels.platform == windows]
.........
当我使用git bash部署它时,该服务无法复制和检查该服务,我在卷映射中看到了这一点
"Mounts": [
{
"Type": "bind",
"Source": "G:\\repos\\IdentityService\\Microlise.IdentityServer.Microservice/C:\\var\\storage\\logs",
"Target": "C:\\storage\\logs"
}
]
如您所见,源路径在我的工作目录之前。
我尝试了多种格式。一些确实删除了前置路径但不起作用,而另一些仍然保留。
// C:/ var /
// c / var
\ c:\ var
\ c:\ var
/ c:\ var
// C:\ var
/ c \ var
// C \ var
我还发现一个环境变量可以防止添加路径,但是后来我根本无法运行docker命令。
MSYS_NO_PATHCONV=1
如果我使用Docker运行任务从TFS进行部署,我也会对此感到不安。
我想念什么? Windows docker主机的正确路径格式是什么?该文档有点无益。
最佳答案
首先,请确保您已在Docker设置内共享了磁盘驱动器。
“安装”部分中的正确路径应如下所示:
/host_mnt/c/var
关于docker - docker stack deploy带有工作目录的Windows卷路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45235443/