events.action: opened
events.author: youngbupark
events.masked_author: username_0
events.text: **Description**
  
  I'm using windows swarm cluster with the below setup. 
  
  1. Manager x 1: Ubuntu Linux, Docker 17.05.0-CE
  2. Worker x 4 : Windows Server Core 2016 - 17.03.1-ee-3
  
  "docker stack deploy" cannot parse windows file path in compose file, detect it as relative path, and add the current path to the source path. it looks like it is a bug.
  
  
  `
  docker stack deploy --with-registry-auth --compose-file=docker-compose.yml controller
  `
  
  docker-compose.xml
  
  `
  version: '3'
  
  services:
    controller:
      image: ****.azurecr.io/****_develop_20170620.5
      volumes:
        - C:\secret:C:\secret
  
      deploy:
        mode: replicated
        replicas: 1
        resources:
          memory: 2048M
        restart_policy:
          condition: on-failure
          delay: 5s
          max_attempts: 3
          window: 120s
        update_config:
          parallelism: 2
          delay: 10s
          failure_action: pause
          monitor: 60s
          max_failure_ratio: 0.3
        placement:
          constraints:
            - node.role == worker
  `
  
  **Steps to reproduce the issue:**
  
  1. docker stack deploy --with-registry-auth --compose-file=docker-compose.yml controller
  
  **Describe the results you received:**
  
  docker service inspect controller 
  
  `
              "TaskTemplate": {
                  "ContainerSpec": {
                      "Image": "*******_develop_20170620.5@sha256:f657d1722a5f82f70177c87c4c58f30997ddf43835c77a4d00516ee913d15b2b",
                      "Labels": {
                          "com.docker.stack.namespace": "****"
                      },
                      "Env": [
                          "****=***"
                      ],
                      "Mounts": [
                          {
                              "Type": "bind",
                              "Source": "/home/test/deploy/C:\\secret",
                              "Target": "C:\\secret"
                          }
                      ],
                      "StopGracePeriod": 10000000000,
                      "DNSConfig": {}
                  },
  `
  
  **Describe the results you expected:**
  
  docker service inspect controller 
  
  `
              "TaskTemplate": {
                  "ContainerSpec": {
                      "Image": "*******_develop_20170620.5@sha256:f657d1722a5f82f70177c87c4c58f30997ddf43835c77a4d00516ee913d15b2b",
                      "Labels": {
                          "com.docker.stack.namespace": "****"
                      },
                      "Env": [
                          "****=***"
                      ],
                      "Mounts": [
                          {
                              "Type": "bind",
                              "Source": "C:\\secret",
                              "Target": "C:\\secret"
                          }
                      ],
                      "StopGracePeriod": 10000000000,
                      "DNSConfig": {}
                  },
  `
  
  **Additional information you deem important (e.g. issue happens only occasionally):**
  
  **Output of `docker version`:**
  Manager Host
  `
  Client:
   Version:      17.05.0-ce
   API version:  1.29
   Go version:   go1.7.5
   Git commit:   89658be
   Built:        Thu May  4 22:10:54 2017
   OS/Arch:      linux/amd64
  
  Server:
   Version:      17.05.0-ce
   API version:  1.29 (minimum version 1.12)
   Go version:   go1.7.5
   Git commit:   89658be
   Built:        Thu May  4 22:10:54 2017
   OS/Arch:      linux/amd64
   Experimental: false
  `
  
  Worker Docker
  `
  Client:
   Version:      17.03.1-ee-3
   API version:  1.27
   Go version:   go1.7.5
   Git commit:   3fcee33
   Built:        Thu Mar 30 19:31:22 2017
   OS/Arch:      windows/amd64
  
  Server:
   Version:      17.03.1-ee-3
   API version:  1.27 (minimum version 1.24)
   Go version:   go1.7.5
   Git commit:   3fcee33
   Built:        Thu Mar 30 19:31:22 2017
   OS/Arch:      windows/amd64
   Experimental: false
  `
  **Output of `docker info`:**
  Containers: 1
   Running: 1
   Paused: 0
   Stopped: 0
  Images: 1
  Server Version: 17.05.0-ce
  Storage Driver: aufs
   Root Dir: /var/lib/docker/aufs
   Backing Filesystem: extfs
   Dirs: 15
   Dirperm1 Supported: true
  Logging Driver: json-file
  Cgroup Driver: cgroupfs
  Plugins:
   Volume: local
   Network: bridge host macvlan null overlay
  Swarm: active
   NodeID: ****
   Is Manager: true
   ClusterID: ****
   Managers: 1
   Nodes: 5
   Orchestration:
    Task History Retention Limit: 5
   Raft:
    Snapshot Interval: 10000
    Number of Old Snapshots to Retain: 0
    Heartbeat Tick: 1
    Election Tick: 3
   Dispatcher:
    Heartbeat Period: 5 seconds
   CA Configuration:
    Expiry Duration: 3 months
   Node Address: 10.80.1.3
   Manager Addresses:
    10.80.1.3:2337
  Runtimes: runc
  Default Runtime: runc
  Init Binary: docker-init
  containerd version: ******
  runc version: *****
  init version: 949e6fa
  Security Options:
   apparmor
   seccomp
    Profile: default
  Kernel Version: 4.4.0-31-generic
  Operating System: Ubuntu 16.04.2 LTS
  OSType: linux
  Architecture: x86_64
  CPUs: 2
  Total Memory: 3.859GiB
  Name: ******
  ID: BPWL:WKA7:7IAN:C4
  Docker Root Dir: /var/lib/docker
  Debug Mode (client): false
  Debug Mode (server): false
  Registry: https://index.docker.io/v1/
  Experimental: false
  Insecure Registries:
   127.0.0.0/8
  Live Restore Enabled: false
  
  WARNING: No swap limit support
  
  **Additional environment details (AWS, VirtualBox, physical, etc.):**
events.title: 'Docker stack deploy' cannot windows file path format source in volume property of docker-compose config
events.type: issue
events.action: created
events.author: friism
events.masked_author: username_1
events.text: cc @johnstep
events.type: comment
events.action: created
events.author: simonferquel
events.masked_author: username_2
events.text: This is a CLI issue currently worked out in https://github.com/docker/cli/pull/966.
  Deploying a stack with Windows workloads containing bind mounts currently only work from a Windows CLI.
events.type: comment