Java中怎么利用UnixSocket 调用 Docker API
发表于:2025-01-27 作者:千家信息网编辑
千家信息网最后更新 2025年01月27日,今天就跟大家聊聊有关Java中怎么利用UnixSocket 调用 Docker API,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。在 Doc
千家信息网最后更新 2025年01月27日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 工具包
com.github.jnr jnr-unixsocket 0.18
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有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。
内容
代码
方式
命令
容器
工具
工具包
更多
正在
知识
篇文章
结果
行业
资讯
资讯频道
过程
面的
频道
本机
进一
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
图片上数据库调用
益阳服务器维保
cacd数据库
视频监控数据库建设
咸宁计算机软件开发怎么收费
湖泊 pCO2 数据库
计算机网络技术跟建筑相关吗
广东公司生鲜配送软件开发
不能作为关系数据库的关系是
肉禽数据库
安卓系统为什么无法连接服务器
软件开发武汉工资一般多少
计算机网络技术志向需求
三级网络技术考试分两场吗
mysql命令创建数据库
数据库日志审计功能要求
腾讯微信数据库问题
2021全国网络技术挑战赛
应用数据库技术
数据库等值
眼镜行业软件开发哪家可信赖
如何定义一个数据库
软件开发适用笔记本
网络安全技术防范措施有哪些
人肉搜索 网络安全法
全国高校数据库
三级网络技术考试分两场吗
服务器安全是负责什么意思
谷歌打洞服务器
江苏地理实体数据库分类