8000 Windows: Support named pipe mounts in docker service create + stack yml · Issue #34795 · moby/moby · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Windows: Support named pipe mounts in docker service create + stack yml #34795

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
StefanScherer opened this issue Sep 9, 2017 · 28 comments · Fixed by moby/swarmkit#2691 or docker/cli#1195

Comments

@StefanScherer
Copy link
Contributor
StefanScherer commented Sep 9, 2017

Description

I try #33852 to map the Docker engine's named pipe \\.\pipe\docker_engine into a service, but fail using it in a stack yml.

Steps to reproduce the issue:

  1. Spin up a machine with Windows Server Insider 16278 or higher + Docker 17.09 rc installed.
  2. notepad insider.yml
version: "3.2"
services:

  whoami:
    image: stefanscherer/whoami:insider
    networks:
      - demo
    environment:
      - PORT=8000
    volumes:
      - \\.\pipe\docker_engine:\\.\pipe\docker_engine
    deploy:
      endpoint_mode: dnsrr
      placement:
        constraints:
          - node.platform.os == windows

networks:
  demo:
    driver: overlay
  1. docker stack deploy -c insider.yml whoami

Describe the results you received:

C:\demo> docker stack deploy -c insider.yml who
service whoami: undefined volume "\\\\.\\pipe\\docker_engine"

Describe the results you expected:

Docker Stack yml should also support the named pipe mounts..

Additional information you deem important (e.g. issue happens only occasionally):

Creating a service with docker service create seems to do it, but I haven't verified if the named pipe works inside the service. No error message, but no replica will be started for that service. I'll open another issue when I have more details.

docker service create --name whoami --mount type=bind,source=\\.\pipe\docker_engine,destination=\\.\pipe\docker_engine stefanscherer/whoami:insider

I also tried docker-compose, but had a similar issue docker/compose#5181

Output of docker version:

docker version
Client:
 Version:      17.09.0-ce-rc1
 API version:  1.31
 Go version:   go1.8.3
 Git commit:   ae21824
 Built:        Wed Sep  6 22:25:14 2017
 OS/Arch:      windows/amd64

Server:
 Version:      17.09.0-ce-rc1
 API version:  1.32 (minimum version 1.24)
 Go version:   go1.8.3
 Git commit:   ae21824
 Built:        Wed Sep  6 22:35:40 2017
 OS/Arch:      windows/amd64
 Experimental: true

Output of docker info:

docker info
Containers: 14
 Running: 0
 Paused: 0
 Stopped: 14
Images: 32
Server Version: 17.09.0-ce-rc1
Storage Driver: windowsfilter
 Windows:
Logging Driver: json-file
Plugins:
 Volume: local
 Network: ics l2bridge l2tunnel nat null overlay transparent
 Log: awslogs etwlogs fluentd json-file logentries splunk syslog
Swarm: active
 NodeID: qxhzlnqnx7qjb68tk0ufunsgx
 Is Manager: true
 ClusterID: layr9u894sseqs82wnf18k0pn
 Managers: 1
 Nodes: 1
 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
  Force Rotate: 0
 Autolock Managers: false
 Root Rotation In Progress: false
 Node Address: 192.168.0.11
 Manager Addresses:
  192.168.0.11:2377
Default Isolation: process
Kernel Version: 10.0 16278 (16278.1000.amd64fre.rs3_release.170825-1441)
Operating System: Windows Server Datacenter
OSType: windows
Architecture: x86_64
CPUs: 2
Total Memory: 2GiB
Name: vagrant-2016
ID: ZXZQ:N634:WCBM:CIAY:ZN7X:FIN7:BN6X:2NR4:XIPE:ALB2:VI2N:VPMT
Docker Root Dir: C:\ProgramData\docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
Experimental: true
Insecure Registries:
 127.0.0.0/8
Live Restore Enabled: false

Additional environment details (AWS, VirtualBox, physical, etc.):
HyperV VM running in Azure

@StefanScherer
Copy link
Contributor Author

OK, running Docker engine with debug output.

docker service create --name whoami --mount type=bind,source=\\.\pipe\docker_engine,destination=\\.\pipe\docker_engine stefanscherer/whoami:insider

Seems to be the same problem:

 failed to start taskManager                   error="invalid mount target, must be an absolute path: \\.\pipe\docker_engine" module="node/agent" 

Here is the output of dockerd -D:

DEBU[2017-09-09T11:03:31.856113400-07:00] Calling GET /_ping
DEBU[2017-09-09T11:03:31.858018000-07:00] Calling GET /_ping
DEBU[2017-09-09T11:03:31.867022700-07:00] Calling GET /v1.31/distribution/stefanscherer/whoami:insider/json
DEBU[2017-09-09T11:03:33.733898600-07:00] Calling POST /v1.31/services/create
DEBU[2017-09-09T11:03:33.734881200-07:00] form data: {"EndpointSpec":{"Mode":"vip"},"Labels":{},"Mode":{"Replicated":{}},"Name":"whoami","TaskTemplate":{"ContainerSpec":{"DNSConfig":{},"Image":"stefanscherer/whoami:insider@sha256:35e866a751b8ee884a3d301e0ab86801114dee60b8133c9b48a31e0f9b7968cb","Mounts":[{"Source":"\\\\.\\pipe\\docker_engine","Target":"\\\\.\\pipe\\docker_engine","Type":"bind"}]},"ForceUpdate":0,"Placement":{"Platforms":[{"Architecture":"amd64","OS":"windows"}]},"Resources":{"Limits":{},"Reservations":{}}}}
DEBU[2017-09-09T11:03:33.771769200-07:00] Service zbsj6gdf0txz9sjlfprjm8eke was scaled up from 0 to 1 instances  module=node node.id=qxhzlnqnx7qjb68tk0ufunsgx
DEBU[2017-09-09T11:03:33.837122400-07:00] assigning to node qxhzlnqnx7qjb68tk0ufunsgx   module=node node.id=qxhzlnqnx7qjb68tk0ufunsgx task.id=peqdqg13hnaj3zkorrhah0si1
DEBU[2017-09-09T11:03:33.955422400-07:00] (*worker).Update                              len(assignments)=1 module="node/agent" node.id=qxhzlnqnx7qjb68tk0ufunsgx
DEBU[2017-09-09T11:03:33.956330200-07:00] (*worker).reconcileSecrets                    len(removedSecrets)=0 len(updatedSecrets)=0 module="node/agent" node.id=qxhzlnqnx7qjb68tk0ufunsgx
DEBU[2017-09-09T11:03:33.962384300-07:00] (*worker).reconcileConfigs                    len(removedConfigs)=0 len(updatedConfigs)=0 module="node/agent" node.id=qxhzlnqnx7qjb68tk0ufunsgx
DEBU[2017-09-09T11:03:33.964344000-07:00] (*worker).reconcileTaskState                  len(removedTasks)=0 len(updatedTasks)=1 module="node/agent" node.id=qxhzlnqnx7qjb68tk0ufunsgx
DEBU[2017-09-09T11:03:33.965351700-07:00] assigned                                      module="node/agent" node.id=qxhzlnqnx7qjb68tk0ufunsgx task.desiredstate=RUNNING task.id=peqdqg13hnaj3zkorrhah0si1
DEBU[2017-09-09T11:03:33.966379000-07:00] state changed                                 module="node/agent" node.id=qxhzlnqnx7qjb68tk0ufunsgx service.id=zbsj6gdf0txz9sjlfprjm8eke state.desired=RUNNING state.transition="ASSIGNED->REJECTED" task.id=peqdqg13hnaj3zkorrhah0si1
ERRO[2017-09-09T11:03:33.967357200-07:00] controller resolution failed                  error="invalid mount target, must be an absolute path: \\.\pipe\docker_engine" module="node/agent" node.id=qxhzlnqnx7qjb68tk0ufunsgx service.id=zbsj6gdf0txz9sjlfprjm8eke task.id=peqdqg13hnaj3zkorrhah0si1
ERRO[2017-09-09T11:03:33.968374400-07:00] failed to start taskManager                   error="invalid mount target, must be an absolute path: \\.\pipe\docker_engine" module="node/agent" node.id=qxhzlnqnx7qjb68tk0ufunsgx
DEBU[2017-09-09T11:03:33.967357200-07:00] (*Agent).UpdateTaskStatus                     module="node/agent" node.id=qxhzlnqnx7qjb68tk0ufunsgx task.id=peqdqg13hnaj3zkorrhah0si1
DEBU[2017-09-
8000
09T11:03:33.992980400-07:00] task status reported                          module="node/agent" node.id=qxhzlnqnx7qjb68tk0ufunsgx
DEBU[2017-09-09T11:03:33.993941800-07:00] dispatcher committed status update to store   method="(*Dispatcher).processUpdates" module=dispatcher node.id=qxhzlnqnx7qjb68tk0ufunsgx state.transition="ASSIGNED->REJECTED" task.id=peqdqg13hnaj3zkorrhah0si1
DEBU[2017-09-09T11:03:34.090259400-07:00] assigning to node qxhzlnqnx7qjb68tk0ufunsgx   module=node node.id=qxhzlnqnx7qjb68tk0ufunsgx task.id=zb0l7td3hlzroevwnume7kevz
DEBU[2017-09-09T11:03:34.205694200-07:00] (*worker).Update                              len(assignments)=2 module="node/agent" node.id=qxhzlnqnx7qjb68tk0ufunsgx
DEBU[2017-09-09T11:03:34.206562900-07:00] (*worker).reconcileSecrets                    len(removedSecrets)=0 len(updatedSecrets)=0 module="node/agent" node.id=qxhzlnqnx7qjb68tk0ufunsgx
DEBU[2017-09-09T11:03:34.214566800-07:00] (*worker).reconcileConfigs                    len(removedConfigs)=0 len(updatedConfigs)=0 module="node/agent" node.id=qxhzlnqnx7qjb68tk0ufunsgx
DEBU[2017-09-09T11:03:34.214566800-07:00] (*worker).reconcileTaskState                  len(removedTasks)=0 len(updatedTasks)=2 module="node/agent" node.id=qxhzlnqnx7qjb68tk0ufunsgx
DEBU[2017-09-09T11:03:34.215580400-07:00] assigned                                      module="node/agent" node.id=qxhzlnqnx7qjb68tk0ufunsgx task.desiredstate=SHUTDOWN task.id=peqdqg13hnaj3zkorrhah0si1
ERRO[2017-09-09T11:03:34.216605900-07:00] controller resolution failed                  error="invalid mount target, must be an absolute path: \\.\pipe\docker_engine" module="node/agent" node.id=qxhzlnqnx7qjb68tk0ufunsgx service.id=zbsj6gdf0txz9sjlfprjm8eke task.id=peqdqg13hnaj3zkorrhah0si1
ERRO[2017-09-09T11:03:34.217568600-07:00] failed to start taskManager                   error="invalid mount target, must be an absolute path: \\.\pipe\docker_engine" module="node/agent" node.id=qxhzlnqnx7qjb68tk0ufunsgx
DEBU[2017-09-09T11:03:34.218585500-07:00] assigned                                      module="node/agent" node.id=qxhzlnqnx7qjb68tk0ufunsgx task.desiredstate=READY task.id=zb0l7td3hlzroevwnume7kevz
DEBU[2017-09-09T11:03:34.218585500-07:00] state changed                                 module="node/agent" node.id=qxhzlnqnx7qjb68tk0ufunsgx service.id=zbsj6gdf0txz9sjlfprjm8eke state.desired=READY state.transition="ASSIGNED->REJECTED" task.id=zb0l7td3hlzroevwnume7kevz
ERRO[2017-09-09T11:03:34.219570800-07:00] controller resolution failed                  error="invalid mount target, must be an absolute path: \\.\pipe\docker_engine" module="node/agent" node.id=qxhzlnqnx7qjb68tk0ufunsgx service.id=zbsj6gdf0txz9sjlfprjm8eke task.id=zb0l7td3hlzroevwnume7kevz
ERRO[2017-09-09T11:03:34.220578400-07:00] failed to start taskManager                   error="invalid mount target, must be an absolute path: \\.\pipe\docker_engine" module="node/agent" node.id=qxhzlnqnx7qjb68tk0ufunsgx
DEBU[2017-09-09T11:03:34.216605900-07:00] (*Agent).UpdateTaskStatus                     module="node/agent" node.id=qxhzlnqnx7qjb68tk0ufunsgx task.id=peqdqg13hnaj3zkorrhah0si1
DEBU[2017-09-09T11:03:34.267601800-07:00] task status reported                          module="node/agent" node.id=qxhzlnqnx7qjb68tk0ufunsgx
DEBU[2017-09-09T11:03:34.267601800-07:00] (*Agent).UpdateTaskStatus                     module="node/agent" node.id=qxhzlnqnx7qjb68tk0ufunsgx task.id=zb0l7td3hlzroevwnume7kevz
DEBU[2017-09-09T11:03:34.271583700-07:00] task status reported                          module="node/agent" node.id=qxhzlnqnx7qjb68tk0ufunsgx
DEBU[2017-09-09T11:03:34.324003500-07:00] dispatcher committed status update to store   method="(*Dispatcher).processUpdates" module=dispatcher node.id=qxhzlnqnx7qjb68tk0ufunsgx state.transition="REJECTED->REJECTED" task.id=peqdqg13hnaj3zkorrhah0si1
DEBU[2017-09-09T11:03:34.324003500-07:00] dispatcher committed status update to store   method="(*Dispatcher).processUpdates" module=dispatcher node.id=qxhzlnqnx7qjb68tk0ufunsgx state.transition="ASSIGNED->REJECTED" task.id=zb0l7td3hlzroevwnume7kevz
DEBU[2017-09-09T11:03:39.125422600-07:00] assigning to node qxhzlnqnx7qjb68tk0ufunsgx   module=node node.id=qxhzlnqnx7qjb68tk0ufunsgx task.id=sm7ht4o8upd4ur097yajdhr9j
DEBU[2017-09-09T11:03:39.259449400-07:00] (*worker).Update                              len(assignments)=2 module="node/agent" node.id=qxhzlnqnx7qjb68tk0ufunsgx
DEBU[2017-09-09T11:03:39.260413500-07:00] (*worker).reconcileSecrets                    len(removedSecrets)=0 len(updatedSecrets)=0 module="node/agent" node.id=qxhzlnqnx7qjb68tk0ufunsgx
DEBU[2017-09-09T11:03:39.267397200-07:00] (*worker).reconcileConfigs                    len(removedConfigs)=0 len(updatedConfigs)=0 module="node/agent" node.id=qxhzlnqnx7qjb68tk0ufunsgx
DEBU[2017-09-09T11:03:39.268419900-07:00] (*worker).reconcileTaskState                  len(removedTasks)=0 len(updatedTasks)=2 module="node/agent" node.id=qxhzlnqnx7qjb68tk0ufunsgx
DEBU[2017-09-09T11:03:39.269393600-07:00] assigned                                      module="node/agent" node.id=qxhzlnqnx7qjb68tk0ufunsgx task.desiredstate=SHUTDOWN task.id=zb0l7td3hlzroevwnume7kevz
ERRO[2017-09-09T11:03:39.269393600-07:00] controller resolution failed                  error="invalid mount target, must be an absolute path: \\.\pipe\docker_engine" module="node/agent" node.id=qxhzlnqnx7qjb68tk0ufunsgx service.id=zbsj6gdf0txz9sjlfprjm8eke task.id=zb0l7td3hlzroevwnume7kevz
ERRO[2017-09-09T11:03:39.270413300-07:00] failed to start taskManager                   error="invalid mount target, must be an absolute path: \\.\pipe\docker_engine" module="node/agent" node.id=qxhzlnqnx7qjb68tk0ufunsgx
DEBU[2017-09-09T11:03:39.270413300-07:00] assigned                                      module="node/agent" node.id=qxhzlnqnx7qjb68tk0ufunsgx task.desiredstate=READY task.id=sm7ht4o8upd4ur097yajdhr9j
DEBU[2017-09-09T11:03:39.271409800-07:00] state changed                                 module="node/agent" node.id=qxhzlnqnx7qjb68tk0ufunsgx service.id=zbsj6gdf0txz9sjlfprjm8eke state.desired=READY state.transition="ASSIGNED->REJECTED" task.id=sm7ht4o8upd4ur097yajdhr9j
ERRO[2017-09-09T11:03:39.272459500-07:00] controller resolution failed                  error="invalid mount target, must be an absolute path: \\.\pipe\docker_engine" module="node/agent" node.id=qxhzlnqnx7qjb68tk0ufunsgx service.id=zbsj6gdf0txz9sjlfprjm8eke task.id=sm7ht4o8upd4ur097yajdhr9j
ERRO[2017-09-09T11:03:39.273550100-07:00] failed to start taskManager                   error="invalid mount target, must be an absolute path: \\.\pipe\docker_engine" module="node/agent" node.id=qxhzlnqnx7qjb68tk0ufunsgx
DEBU[2017-09-09T11:03:39.269393600-07:00] (*Agent).UpdateTaskStatus                     module="node/agent" node.id=qxhzlnqnx7qjb68tk0ufunsgx task.id=zb0l7td3hlzroevwnume7kevz
DEBU[2017-09-09T11:03:39.291395300-07:00] task status reported                          module="node/agent" node.id=qxhzlnqnx7qjb68tk0ufunsgx
DEBU[2017-09-09T11:03:39.292681000-07:00] (*Agent).UpdateTaskStatus                     module="node/agent" node.id=qxhzlnqnx7qjb68tk0ufunsgx task.id=sm7ht4o8upd4ur097yajdhr9j
DEBU[2017-09-09T11:03:39.308491500-07:00] task status reported                          module="node/agent" node.id=qxhzlnqnx7qjb68tk0ufunsgx
DEBU[2017-09-09T11:03:39.381299400-07:00] dispatcher committed status update to store   method="(*Dispatcher).processUpdates" module=dispatcher node.id=qxhzlnqnx7qjb68tk0ufunsgx state.transition="REJECTED->REJECTED" task.id=zb0l7td3hlzroevwnume7kevz
DEBU[2017-09-09T11:03:39.381299400-07:00] dispatcher committed status update to store   method="(*Dispatcher).processUpdates" module=dispatcher node.id=qxhzlnqnx7qjb68tk0ufunsgx state.transition="ASSIGNED->REJECTED" task.id=sm7ht4o8upd4ur097yajdhr9j
DEBU[2017-09-09T11:03:44.143131400-07:00] assigning to node qxhzlnqnx7qjb68tk0ufunsgx   module=node node.id=qxhzlnqnx7qjb68tk0ufunsgx task.id=m7izyt9wqz24lyy1gw8o801cu
DEBU[2017-09-09T11:03:44.253037200-07:00] (*worker).Update                              len(assignments)=2 module="node/agent" node.id=qxhzlnqnx7qjb68tk0ufunsgx
DEBU[2017-09-09T11:03:44.253037200-07:00] (*worker).reconcileSecrets                    len(removedSecrets)=0 len(updatedSecrets)=0 module="node/agent" node.id=qxhzlnqnx7qjb68tk0ufunsgx
DEBU[2017-09-09T11:03:44.259989300-07:00] (*worker).reconcileConfigs                    len(removedConfigs)=0 len(updatedConfigs)=0 module="node/agent" node.id=qxhzlnqnx7qjb68tk0ufunsgx
DEBU[2017-09-09T11:03:44.261068700-07:00] (*worker).reconcileTaskState                  len(removedTasks)=0 len(updatedTasks)=2 module="node/agent" node.id=qxhzlnqnx7qjb68tk0ufunsgx
DEBU[2017-09-09T11:03:44.262142600-07:00] assigned                                      module="node/agent" node.id=qxhzlnqnx7qjb68tk0ufunsgx task.desiredstate=SHUTDOWN task.id=sm7ht4o8upd4ur097yajdhr9j
ERRO[2017-09-09T11:03:44.263131100-07:00] controller resolution failed                  error="invalid mount target, must be an absolute path: \\.\pipe\docker_engine" module="node/agent" node.id=qxhzlnqnx7qjb68tk0ufunsgx service.id=zbsj6gdf0txz9sjlfprjm8eke task.id=sm7ht4o8upd4ur097yajdhr9j
ERRO[2017-09-09T11:03:44.263981100-07:00] failed to start taskManager                   error="invalid mount target, must be an absolute path: \\.\pipe\docker_engine" module="node/agent" node.id=qxhzlnqnx7qjb68tk0ufunsgx
DEBU[2017-09-09T11:03:44.264983200-07:00] assigned                                      module="node/agent" node.id=qxhzlnqnx7qjb68tk0ufunsgx task.desiredstate=READY task.id=m7izyt9wqz24lyy1gw8o801cu
DEBU[2017-09-09T11:03:44.264983200-07:00] state changed                                 module="node/agent" node.id=qxhzlnqnx7qjb68tk0ufunsgx service.id=zbsj6gdf0txz9sjlfprjm8eke state.desired=READY state.transition="ASSIGNED->REJECTED" task.id=m7izyt9wqz24lyy1gw8o801cu
ERRO[2017-09-09T11:03:44.266015700-07:00] controller resolution failed                  error="invalid mount target, must be an absolute path: \\.\pipe\docker_engine" module="node/agent" node.id=qxhzlnqnx7qjb68tk0ufunsgx service.id=zbsj6gdf0txz9sjlfprjm8eke task.id=m7izyt9wqz24lyy1gw8o801cu
ERRO[2017-09-09T11:03:44.268032200-07:00] failed to start taskManager                   error="invalid mount target, must be an absolute path: \\.\pipe\docker_engine" module="node/agent" node.id=qxhzlnqnx7qjb68tk0ufunsgx
DEBU[2017-09-09T11:03:44.263131100-07:00] (*Agent).UpdateTaskStatus                     module="node/agent" node.id=qxhzlnqnx7qjb68tk0ufunsgx task.id=sm7ht4o8upd4ur097yajdhr9j
DEBU[2017-09-09T11:03:44.291989500-07:00] task status reported                          module="node/agent" node.id=qxhzlnqnx7qjb68tk0ufunsgx
DEBU[2017-09-09T11:03:44.293017300-07:00] (*Agent).UpdateTaskStatus                     module="node/agent" node.id=qxhzlnqnx7qjb68tk0ufunsgx task.id=m7izyt9wqz24lyy1gw8o801cu
DEBU[2017-09-09T11:03:44.300995700-07:00] task status reported                          module="node/agent" node.id=qxhzlnqnx7qjb68tk0ufunsgx
DEBU[2017-09-09T11:03:44.355120400-07:00] dispatcher committed status update to store   method="(*Dispatcher).processUpdates" module=dispatcher node.id=qxhzlnqnx7qjb68tk0ufunsgx state.transition="REJECTED->REJECTED" task.id=sm7ht4o8upd4ur097yajdhr9j
DEBU[2017-09-09T11:03:44.355120400-07:00] dispatcher committed status update to store   method="(*Dispatcher).processUpdates" module=dispatcher node.id=qxhzlnqnx7qjb68tk0ufunsgx state.transition="ASSIGNED->REJECTED" task.id=m7izyt9wqz24lyy1gw8o801cu
DEBU[2017-09-09T11:03:49.148973800-07:00] assigning to node qxhzlnqnx7qjb68tk0ufunsgx   module=node node.id=qxhzlnqnx7qjb68tk0ufunsgx task.id=bb4cfkjmay128zbe4e7b1reyj
DEBU[2017-09-09T11:03:49.273144400-07:00] (*worker).Update                              len(assignments)=2 module="node/agent" node.id=qxhzlnqnx7qjb68tk0ufunsgx
DEBU[2017-09-09T11:03:49.273144400-07:00] (*worker).reconcileSecrets                    len(removedSecrets)=0 len(updatedSecrets)=0 module="node/agent" node.id=qxhzlnqnx7qjb68tk0ufunsgx
DEBU[2017-09-09T11:03:49.283116900-07:00] (*worker).reconcileConfigs                    len(removedConfigs)=0 len(updatedConfigs)=0 module="node/agent" node.id=qxhzlnqnx7qjb68tk0ufunsgx
DEBU[2017-09-09T11:03:49.284193300-07:00] (*worker).reconcileTaskState                  len(removedTasks)=0 len(updatedTasks)=2 module="node/agent" node.id=qxhzlnqnx7qjb68tk0ufunsgx
DEBU[2017-09-09T11:03:49.285169300-07:00] assigned                                      module="node/agent" node.id=qxhzlnqnx7qjb68tk0ufunsgx task.desiredstate=SHUTDOWN task.id=m7izyt9wqz24lyy1gw8o801cu
ERRO[2017-09-09T11:03:49.286199800-07:00] controller resolution failed                  error="invalid mount target, must be an absolute path: \\.\pipe\docker_engine" module="node/agent" node.id=qxhzlnqnx7qjb68tk0ufunsgx service.id=zbsj6gdf0txz9sjlfprjm8eke task.id=m7izyt9wqz24lyy1gw8o801cu
ERRO[2017-09-09T11:03:49.287623500-07:00] failed to start taskManager                   error="invalid mount target, must be an absolute path: \\.\pipe\docker_engine" module="node/agent" node.id=qxhzlnqnx7qjb68tk0ufunsgx
DEBU[2017-09-09T11:03:49.288134100-07:00] assigned                                      module="node/agent" node.id=qxhzlnqnx7qjb68tk0ufunsgx task.desiredstate=READY task.id=bb4cfkjmay128zbe4e7b1reyj
DEBU[2017-09-09T11:03:49.289135800-07:00] state changed                                 module="node/agent" node.id=qxhzlnqnx7qjb68tk0ufunsgx service.id=zbsj6gdf0txz9sjlfprjm8eke state.desired=READY state.transition="ASSIGNED->REJECTED" task.id=bb4cfkjmay128zbe4e7b1reyj
ERRO[2017-09-09T11:03:49.290170500-07:00] controller resolution failed                  error="invalid mount target, must be an absolute path: \\.\pipe\docker_engine" module="node/agent" node.id=qxhzlnqnx7qjb68tk0ufunsgx service.id=zbsj6gdf0txz9sjlfprjm8eke task.id=bb4cfkjmay128zbe4e7b1reyj
ERRO[2017-09-09T11:03:49.291182600-07:00] failed to start taskManager                   error="invalid mount target, must be an absolute path: \\.\pipe\docker_engine" module="node/agent" node.id=qxhzlnqnx7qjb68tk0ufunsgx
DEBU[2017-09-09T11:03:49.286199800-07:00] (*Agent).UpdateTaskStatus                     module="node/agent" node.id=qxhzlnqnx7qjb68tk0ufunsgx task.id=m7izyt9wqz24lyy1gw8o801cu
DEBU[2017-09-09T11:03:49.370290100-07:00] task status reported                          module="node/agent" node.id=qxhzlnqnx7qjb68tk0ufunsgx
DEBU[2017-09-09T11:03:49.371433700-07:00] (*Agent).UpdateTaskStatus                     module="node/agent" node.id=qxhzlnqnx7qjb68tk0ufunsgx task.id=bb4cfkjmay128zbe4e7b1reyj
DEBU[2017-09-09T11:03:49.379421200-07:00] task status reported                          module="node/agent" node.id=qxhzlnqnx7qjb68tk0ufunsgx
DEBU[2017-09-09T11:03:49.409506800-07:00] dispatcher committed status update to store   method="(*Dispatcher).processUpdates" module=dispatcher node.id=qxhzlnqnx7qjb68tk0ufunsgx state.transition="REJECTED->REJECTED" task.id=m7izyt9wqz24lyy1gw8o801cu
DEBU[2017-09-09T11:03:49.409506800-07:00] dispatcher committed status update to store   method="(*Dispatcher).processUpdates" module=dispatcher node.id=qxhzlnqnx7qjb68tk0ufunsgx state.transition="ASSIGNED->REJECTED" task.id=bb4cfkjmay128zbe4e7b1reyj
WARN[2017-09-09T11:03:49.426428700-07:00] underweighting node qxhzlnqnx7qjb68tk0ufunsgx for service zbsj6gdf0txz9sjlfprjm8eke because it experienced 5 failures or rejections within 5m0s  module=node node.id=qxhzlnqnx7qjb68tk0ufunsgx

@thaJeztah
Copy link
Member

/cc @johnstep

@StefanScherer StefanScherer changed the title Windows: Support named pipe mounts in stack yml Windows: Support named pipe mounts in docker service create + stack yml Sep 25, 2017
@StefanScherer
Copy link
Contributor Author

The Docker 17.10.0-ee-preview-2 also has this problem, at least it shows the problem much easier

PS C:\> docker service create `
>>   --name=visualizer `
>>   --publish=8080:8080/tcp `
>>   --constraint=node.role==manager `
>>   --mount=type=bind,src=\\.\pipe\docker_engine,dst=\\.\pipe\docker_engine `
>>   stefanscherer/visualizer-windows:insider
quw7i40hv02r771cu1mwiqiwy
overall progress: 0 out of 1 tasks
1/1: invalid mount target, must be an absolute path: \\.\pipe\docker_engine

Seems like validateMounts() needs some care as filepath.IsAbs() does not work for the named pipe paths.

@thaJeztah
Copy link
Member

ping @friism @johnstep @dnephin PTAL

@friism
Copy link
Contributor
friism commented Sep 26, 2017

Yup, we have to fix this...

@dnephin
Copy link
Member
dnephin commented Sep 26, 2017

I opened docker/cli#560 to fix the docker-cli parsing, but there will still need to be another fix on the server side I believe, since it's also broken for service create which is not parsed on the client.

@olljanat
Copy link
Contributor

What is status of this one? Partly fixed but not fully yet?

@IvanJosipovic
Copy link

This still doesn't work in 18.03.1-ee-1
Any updates when this will be fixed?

@olljanat
Copy link
Contributor
olljanat commented Jul 6, 2018

I already started to implement exceptions for npipe to bind mount but when read #33852 more carefully I noticed that it have actually added new mount type npipe.

It means that mount command like this is already valid:

docker run --mount type=npipe,source=\\.\pipe\docker_engine,target=\\.\pipe\docker_engine microsoft/nanoserver:1803

That is just missing from documentation: https://docs.docker.com/engine/reference/commandline/service_create/#add-bind-mounts-volumes-or-memory-filesystems

If I try to create service with command like this:

docker service create --name whoami --mount type=npipe,source=\\.\pipe\docker_engine,destination=\\.\pipe\docker_engine microsoft/nanoserver:1803

it gives error:

Error response from daemon: invalid MountType: "npipe"

So correct way to fix this is:

  1. Add support for mount type npipe to https://github.com/docker/swarmkit/blob/master/api/types.proto
  2. Make sure that moby detects npipe paths correctly.
  3. Update documentation to contain information about type npipe.

I will look it.

@cpuguy83
Copy link
Member
cpuguy83 commented Jul 6, 2018

A little sad that you have to provdide the full UNC path for the pipe, with Type=npipe, but 🤷‍♂️

@deviantony
Copy link

Any update on this topic?

@olljanat
Copy link
Contributor

@deviantony I have implemented fix to this. Status is that moby/swarmkit#2691 is waiting for review.

Why it is not reviewed yet. I have no idea.

@dazinator
Copy link

Still an issue in:
Docker version 18.03.1-ee-3, build b9a5c95
docker-compose version 1.22.0, build f46880fe
Is there any workaround?

@olljanat
Copy link
Contributor
olljanat commented Sep 7, 2018

@dazinator only possible workaround is create containers using docker run command.

Permanent solution is merge moby/swarmkit#2691 and related PRs but unfortunately I don't know why swarm team have not been able to do that.

@olljanat
Copy link
Contributor

@yongtang sorry about confusing info but #37400 actually only fixed npipe mounting with docker service create command but using npipe on stack files does not work before docker/cli/pull/1195 have been merged and updated to moby.

@thaJeztah
Copy link
Member

Let me reopen until docker/cli#1195 is merged (which completes the cycle)

@RobertPaulson90
Copy link
RobertPaulson90 commented Oct 24, 2018

docker run -d -p 9000:9000 -v \\.\pipe\docker_engine:\\.\pipe\docker_engine portainer/portainer works on my Windows 10 machine but not my fully updated Server 2016. Any ideas or workarounds?

C:\Program Files\Docker\Docker\Resources\bin\docker.exe: Error response from daemon: named pipe mounts are not supported on this version of Windows.

@olljanat
Copy link
Contributor

@amivit you need update server version. Old Win 2016 does not support that.

Look: portainer/portainer#2299

@kkbruce
Copy link
kkbruce commented Nov 1, 2018

Have any plan release to Docker EE Engine?

@olljanat
Copy link
Contributor
olljanat commented Nov 1, 2018

@kkbruce some discussion about release for CE and EE is on here: moby/swarmkit#2691 (comment)

@mgiangrandi
Copy link

Any update? Still the same problem on Docker EE 18.09.2

@thaJeztah
Copy link
Member

@mgiangrandi can you explain what "the same problem" is? What error are you seeing?

@olljanat
Copy link
Contributor

@mgiangrandi feature is not yet released. It will be part of 19.03.

@zlepper
Copy link
zlepper commented Apr 2, 2019

When is 19.03 planned for release? According to the name, it looks like it was planned for last month?

@thaJeztah
Copy link
Member

preliminary dates are mentioned in this milestone; https://github.com/docker/docker-ce/milestone/32

@dominiclapointe
Copy link

Anyone knows why 19.03 hasnt been release yet? its overdue for 5 days and completed 100%

Thank you

@ghost
Copy link
ghost commented Sep 13, 2019

Running 19.03.2 and it appears to still be broken

@olljanat
Copy link
Contributor

@michaelandsylas234 earlier implementation was missing. Now it is implemented, tested and released. If it does not work on certain conditions it is bug so plz create issue with full details about how it can be reproduced.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
0