Skip to content

'Docker stack deploy' detects windows file path format source as relative path in volume property of docker-compose config #33746

@youngbupark

Description

@youngbupark

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 correctly, detect it as relative path, and add the current path to the source path. looks like this is a bug.

e.g. source: c:\secret --> inspect result: /home/test/deploy/C:\secret

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.):

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions