摘要:在官網查閱調用方式例如查詢正在運行的容器列表,方式如下分析請求的過程在本機執行如下命令模擬調用的代碼實現引入工具包測試代碼建立連接調用關閉,否則會導致下面的操作一直阻塞獲取返回結果相關文檔文檔
在 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/jsonJava 模擬調用 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(); }相關文檔
Docker API 文檔
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/76140.html
摘要:與容器內第一個進程進程看創建了這么多子進程,然后到了我們期待的自己中的進程就要被創建了,想想都有點小激動,然而。。。 Docker架構分析 [root@docker-build-86-050 ~]# ls /usr/bin |grep docker docker docker-compose docker-containerd docker-containerd-ctr docker-...
摘要:我們知道,發起函數調用,需要構造一個棧幀。構造棧幀的具體實現細節的選擇,被稱為調用慣例。要想完成這個函數調用邏輯,就要運行時構造棧幀,生成參數壓棧和清理堆棧的工作。目前,幾乎支持全部常見的架構。 原文:http://nullwy.me/2018/01/java...如果覺得我的文章對你有用,請隨意贊賞 遇到的問題 前段時間開發的時候,遇到一個問題,就是如何用 Java 實現 chdir...
摘要:注冊器監視每個守護進程的事件,并在生命周期事件期間自動更新。條件可以包括親和規則否定至軟強制意味著盡可能地避免。當使用通用標記如或部署服務時,可能會出現意外的后果。月日,北京海航萬豪酒店,容器技術大會即將舉行。 在這篇文章中,我們將討論如何用Rancher實現consul的服務發現。 如果你還沒有準備好,推薦你閱讀本系列中先前的文章:第一篇:CI /CD和Docker入門第二篇:使部署...
摘要:在這里,這個提供了一個風格的接口訪問。準備剛剛我們已經成功地在中運行了我們的微服務。對外暴露的端口需要跟服務的端口是一致的。運行是發布一個容器的端口到運行的主機上。 tags: Microservice Restful Docker Author: Andy AiWeibo: NinetyHGitHub: https://github.com/aiyanbo/do... 實現構思 ...
摘要:運行在上的微服務服務發現與注冊在上一節中,我們學習了如何在上構建一個風格的微服務。接下來,我們將學習如何把運行在上的微服務暴露在服務中心上,以便客戶端的調用。資源服務在關閉時需要將服務實例在服務中心進行注銷操作。響應用戶的終止。 運行在 Docker 上的微服務 - 服務發現與注冊 tags: Docker Microservice RESTful etcd Author: And...
閱讀 2413·2021-08-18 10:21
閱讀 2519·2019-08-30 13:45
閱讀 2155·2019-08-30 13:16
閱讀 2100·2019-08-30 12:52
閱讀 1363·2019-08-30 11:20
閱讀 2622·2019-08-29 13:47
閱讀 1622·2019-08-29 11:22
閱讀 2760·2019-08-26 12:11