docker 堆栈部署 windows 以工作目录为前缀的卷路径

docker stack deploy windows volume path prepended with working directory

我正在使用 docker 通过堆栈部署编写文件。我的 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 设置中共享了磁盘驱动器。

Mounts 部分中的正确路径应如下所示:

 /host_mnt/c/var