Docker Windows容器安装命名pipe道

我试图在容器中使用Jenkins,并挂载命名pipe道来控制主机上的docker引擎。 根据这个博客文章,这应该是足够的挂载命名pipe道。 但是,当我运行与该装载的容器,命名的pipe道不在容器上打开,因此,docker客户端不起作用。

我应该手动打开Dockerfile中的命名pipe道? 如果是这样怎么办?

这里是一个没有jenkins最小的repro(我也尝试安装docker插件Jenkins和docker客户端通过巧克力容器):

Docker version 17.09.1-ce, build 19e2cf6 Windows version 1709, Build 16299.125 

Dockerfile:

 # escape=` FROM microsoft/windowsservercore SHELL ["powershell"] ENTRYPOINT [System.IO.Directory]::GetFiles("\\.\\pipe\\"); 

要构build和运行的命令:

 docker build -t namedpipetest . docker run -v \\.\pipe\docker_engine:\\.\pipe\docker_engine namedpipetest 

输出是:

 \\.\\pipe\\InitShutdown \\.\\pipe\\lsass \\.\\pipe\\ntsvcs \\.\\pipe\\scerpc \\.\\pipe\\Winsock2\CatalogChangeListener-454-0 \\.\\pipe\\epmapper \\.\\pipe\\Winsock2\CatalogChangeListener-124-0 \\.\\pipe\\LSM_API_service \\.\\pipe\\eventlog \\.\\pipe\\Winsock2\CatalogChangeListener-4b8-0 \\.\\pipe\\wkssvc \\.\\pipe\\TermSrv_API_service \\.\\pipe\\Ctx_WinStation_API_service \\.\\pipe\\winreg \\.\\pipe\\cexec-76 \\.\\pipe\\cexec-77 \\.\\pipe\\Winsock2\CatalogChangeListener-4f4-0 \\.\\pipe\\SessEnvPublicRpc \\.\\pipe\\Winsock2\CatalogChangeListener-278-0 \\.\\pipe\\PSHost.131584061845916516.1868.DefaultAppDomain.powershell 

输出:

 docker inspect -f '{{ .Mounts }}' 3edad32c9f81 [{npipe \\.\pipe\docker_engine \\.\pipe\docker_engine true }]