Skip to content

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

@StefanScherer

Description

@StefanScherer

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

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