【问题标题】:How to connect to local Docker service using `Docker.DotNet` library?如何使用 Docker.DotNet 库连接到本地 Docker 服务?
【发布时间】:2023-03-26 22:10:02
【问题描述】:

如何在 Linux 环境中使用 Docker.DotNet 库连接到我的本地 Docker 服务(考虑到我使用的是 .Net Core 2.0)?

我认为它与/var/run/docker.sock 文件有某种关系,但我不知道如何实现。

【问题讨论】:

  • 你试过unix:///var/run/docker.sock作为网址吗?

标签: c# .net docker .net-core docker-api


【解决方案1】:

已经报告了这个问题,根据here中的讨论,以下应该可以在linux上运行:

DockerClient client = new DockerClientConfiguration(new Uri("unix:///var/run/docker.sock"))
     .CreateClient()

【讨论】:

  • 我稍后会尝试,但似乎是正确的答案。谢谢!
【解决方案2】:

我创建了一种帮助类,它根据底层操作系统提供默认的本地 api uri:

public static class Docker
{
    static Docker()
    {
        DefaultLocalApiUri = RuntimeInformation.IsOSPlatform(OSPlatform.Windows) 
            ? new Uri("npipe://./pipe/docker_engine")
            : new Uri("unix:/var/run/docker.sock");
    }

    public static Uri DefaultLocalApiUri { get; }
}

【讨论】:

    猜你喜欢
    • 2022-01-21
    • 2019-01-25
    • 1970-01-01
    • 2018-05-02
    • 1970-01-01
    • 2019-03-02
    • 1970-01-01
    • 2019-08-08
    • 1970-01-01
    相关资源
    最近更新 更多