首页 > 解决方案 > 使用挂载的命名管道从 Windows 容器与 docker 主机通信

问题描述

我无法从我的 Windows 容器与 Docker 主机通信。通过挂载命名管道对其进行了测试。命名管道在我的 Windows 容器中可见,但我未能成功使用 Docker 引擎 API。

基本映像是mcr.microsoft.com/windows/servercore:1803

使用的客户端库是https://github.com/Microsoft/Docker.DotNet

当我在容器中运行应用程序时超时。我在本地运行应用程序时没有错误。

docker run -d -p 8080:8080 -v \\.\pipe\docker_engine:\\.\pipe\docker_engine image-name

var clientConfiguration = new DockerClientConfiguration(new Uri("npipe://./pipe/docker_engine"));
var client = clientConfiguration.CreateClient();

var images = client.Images.ListImagesAsync(new ImagesListParameters { All = true}).GetAwaiter().GetResult();
foreach (var image in images)
{
    Console.WriteLine(image.ID);
}

我希望通过安装命名管道来进行通信。如果有人能指出我正确的方向,我会非常高兴。:)

先感谢您!

PS 这是我的第一个 Stack Overflow 问题!

你好世界(堆栈溢出)!

标签: dockerdockerfilevirtualizationnamed-pipesdocker-for-windows

解决方案


推荐阅读