成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Java 使用 UnixSocket 調(diào)用 Docker API

derek_334892 / 936人閱讀

摘要:在官網(wǎng)查閱調(diào)用方式例如查詢正在運(yùn)行的容器列表,方式如下分析請求的過程在本機(jī)執(zhí)行如下命令模擬調(diào)用的代碼實(shí)現(xiàn)引入工具包測試代碼建立連接調(diào)用關(guān)閉,否則會導(dǎo)致下面的操作一直阻塞獲取返回結(jié)果相關(guān)文檔文檔

在 Docker 官網(wǎng)查閱 API 調(diào)用方式

例如:查詢正在運(yùn)行的容器列表,HTTP 方式如下:

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

在本機(jī)執(zhí)行如下命令

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

Java 模擬調(diào)用 API 的代碼實(shí)現(xiàn)

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);

        // 調(diào)用 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();
        // 關(guān)閉 Output,否則會導(dǎo)致下面的 read 操作一直阻塞
        unixSocket.shutdownOutput();

        // 獲取返回結(jié)果
        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();
    }
相關(guān)文檔

Docker API 文檔

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/76140.html

相關(guān)文章

  • docker進(jìn)程模型,架構(gòu)分析

    摘要:與容器內(nèi)第一個進(jìn)程進(jìn)程看創(chuàng)建了這么多子進(jìn)程,然后到了我們期待的自己中的進(jìn)程就要被創(chuàng)建了,想想都有點(diǎn)小激動,然而。。。 Docker架構(gòu)分析 [root@docker-build-86-050 ~]# ls /usr/bin |grep docker docker docker-compose docker-containerd docker-containerd-ctr docker-...

    mingzhong 評論0 收藏0
  • Java 外部函數(shù)接口:JNI, JNA, JNR

    摘要:我們知道,發(fā)起函數(shù)調(diào)用,需要構(gòu)造一個棧幀。構(gòu)造棧幀的具體實(shí)現(xiàn)細(xì)節(jié)的選擇,被稱為調(diào)用慣例。要想完成這個函數(shù)調(diào)用邏輯,就要運(yùn)行時構(gòu)造棧幀,生成參數(shù)壓棧和清理堆棧的工作。目前,幾乎支持全部常見的架構(gòu)。 原文:http://nullwy.me/2018/01/java...如果覺得我的文章對你有用,請隨意贊賞 遇到的問題 前段時間開發(fā)的時候,遇到一個問題,就是如何用 Java 實(shí)現(xiàn) chdir...

    pubdreamcc 評論0 收藏0
  • 如何使用Docker、Docker-Compose和Rancher搭建部署Pipeline(四)

    摘要:注冊器監(jiān)視每個守護(hù)進(jìn)程的事件,并在生命周期事件期間自動更新。條件可以包括親和規(guī)則否定至軟強(qiáng)制意味著盡可能地避免。當(dāng)使用通用標(biāo)記如或部署服務(wù)時,可能會出現(xiàn)意外的后果。月日,北京海航萬豪酒店,容器技術(shù)大會即將舉行。 在這篇文章中,我們將討論如何用Rancher實(shí)現(xiàn)consul的服務(wù)發(fā)現(xiàn)。 如果你還沒有準(zhǔn)備好,推薦你閱讀本系列中先前的文章:第一篇:CI /CD和Docker入門第二篇:使部署...

    13651657101 評論0 收藏0
  • Docker 上運(yùn)行一個 RESTful 風(fēng)格的微服務(wù)

    摘要:在這里,這個提供了一個風(fēng)格的接口訪問。準(zhǔn)備剛剛我們已經(jīng)成功地在中運(yùn)行了我們的微服務(wù)。對外暴露的端口需要跟服務(wù)的端口是一致的。運(yùn)行是發(fā)布一個容器的端口到運(yùn)行的主機(jī)上。 tags: Microservice Restful Docker Author: Andy AiWeibo: NinetyHGitHub: https://github.com/aiyanbo/do... 實(shí)現(xiàn)構(gòu)思 ...

    NotFound 評論0 收藏0
  • 運(yùn)行在 Docker 上的微服務(wù) - 服務(wù)發(fā)現(xiàn)與注冊

    摘要:運(yùn)行在上的微服務(wù)服務(wù)發(fā)現(xiàn)與注冊在上一節(jié)中,我們學(xué)習(xí)了如何在上構(gòu)建一個風(fēng)格的微服務(wù)。接下來,我們將學(xué)習(xí)如何把運(yùn)行在上的微服務(wù)暴露在服務(wù)中心上,以便客戶端的調(diào)用。資源服務(wù)在關(guān)閉時需要將服務(wù)實(shí)例在服務(wù)中心進(jìn)行注銷操作。響應(yīng)用戶的終止。 運(yùn)行在 Docker 上的微服務(wù) - 服務(wù)發(fā)現(xiàn)與注冊 tags: Docker Microservice RESTful etcd Author: And...

    陳偉 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<