我希望能够从目前在Windows上运行的Java程序中与Docker进行交互。我按照此处的说明进行操作:https://github.com/spotify/docker-client
我创建了一个Maven项目,并尝试运行自述文件中指定的示例代码。我第一次得到"连接拒绝"错误但后来尝试通过指定uri创建DockerClient对象:
URI(URI.create(" UNIX:///var/run/docker.sock"))
这导致了UnsatisfiedLinkError:未知错误。它似乎是一个名为" c.dll"的库。正在寻找,当我创建一个名为this的假库并将其放在Library Path中的一个文件夹中时,我得到一个不同的错误:UnsatisfiedLinkError:操作成功完成。
我假设后一个错误来自c.dll没有正确的入口点。
所以我现在的问题是:我是否正确地假设使用URI创建DockerClient是正确的方法?如果是这样,它确实在寻找c.dll,如果是这样,我在哪里可以找到一个好的" c.dll所以代码可以工作吗?
或者是否有其他人设法让DockerClient代码在Windows上运行,也许无需找到正确的c.dll?
答案 0 :(得分:0)
我想原因是此客户端不支持 npipe 。
但是不久前,它已在GitHub Pull请求Support windows named pipe中为该客户端实现。
现在,此客户端初始化也可在Windows中使用:
DockerClient docker = DefaultDockerClient.fromEnv().build();