docker - docker stack deploy带有工作目录的Windows卷路径

标签 docker msys

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

相关文章:

linux - Docker 在安装后首次运行时失败。错误发布 http ://. ....权限被拒绝。您是否尝试在没有 TLS 的情况下连接到支持 TLS 的守护进程?

mingw - 为 Windows 构建 Linphone 时出错

msys - 为什么在 MSYS 中配置这么慢?

c++ - 如何在 Windows 中使用 MinGW 构建 OpenSSL?

gcc - 在 MinGW 中设置 SDL

linux - 配置 : error: no acceptable C compiler found in $PATH

elasticsearch - Elasticsearch 多个发布主机

apache - 如何从运行 Tomcat 基础镜像的 Docker 容器中删除 ROOT 文件夹

amazon-web-services - AWS ECS 环境变量

Docker撰写无效的卷目标路径: '.' mount path must be absolute