Java中怎么利用UnixSocket 调用 Docker API

云计算

今天就跟大家聊聊有关Java中怎么利用UnixSocket 调用 docker API,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

在 Docker 官网查阅 API 调用方式

例如:查询正在运行的容器列表,HTTP 方式如下:

$ curl –unix-socket /var/run/docker.sock http:/v1.24/containers/json[{  \”Id\”:\”ae63e8b89a26f01f6b4b2c9a7817c31a1b6196acf560f66586fbc8809ffcd772\”,  \”Names\”:[\”/tender_wing\”],  \”Image\”:\”bfirsh/reticulate-splines\”,  …}]分析 API 请求的过程

在本机执行如下命令

curl -v –unix-socket /var/run/docker.sock http:/v1.24/containers/json

Java 模拟调用 API 的代码实现

1、引入 UnixSocket 工具包

        <dependency>            <groupid>com.github.jnr</groupid>            <artifactid>jnr-unixsocket</artifactid>            <version>0.18</version>        </dependency>

2、测试代码

    public static void main(String[] args) {        // 建立 Unix Socket 连接        File sockFile = new File(\”/var/run/docker.sock\”);        UnixSocketAddress address = new UnixSocketAddress(sockFile);        UnixSocketChannel channel = UnixSocketChannel.open(address);        UnixSocket unixSocket = new UnixSocket(channel);        // 调用 Docker API        PrintWriter w = new PrintWriter(unixSocket.getOutputStream());        w.println(\”GET /v1.24/containers/json HTTP/1.1\”);        w.println(\”Host: http\”);        w.println(\”Accept: */*\”);        w.println(\”\”);        w.flush();        // 关闭 Output,否则会导致下面的 read 操作一直阻塞        unixSocket.shutdownOutput();        // 获取返回结果        System.out.println(\”—- Docker Response —-\”);        BufferedReader br = new BufferedReader(new InputStreamReader(unixSocket.getInputStream()));        String line;        while ((line = br.readLine()) != null){            System.out.println(line);        }        unixSocket.close();    }

看完上述内容,你们对Java中怎么利用UnixSocket 调用 Docker API有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注西部数码行业资讯频道,感谢大家的支持。

更多关于云服务器域名注册虚拟主机的问题,请访问西部数码官网:www.west.cn

赞(0)
声明:本网站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-62778877-8306;邮箱:fanjiao@west.cn。本站原创内容未经允许不得转载,或转载时需注明出处:西部数码知识库 » Java中怎么利用UnixSocket 调用 Docker API

登录

找回密码

注册