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
我正在使用 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