成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

Java中怎么利用UnixSocket調(diào)用DockerAPI

今天就跟大家聊聊有關(guān)Java中怎么利用UnixSocket 調(diào)用 Docker API,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

創(chuàng)新互聯(lián)建站專注于福田企業(yè)網(wǎng)站建設(shè),自適應(yīng)網(wǎng)站建設(shè),商城網(wǎng)站定制開發(fā)。福田網(wǎng)站建設(shè)公司,為福田等地區(qū)提供建站服務(wù)。全流程按需網(wǎng)站策劃,專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)建站專業(yè)和態(tài)度為您提供的服務(wù)

在 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中怎么利用UnixSocket 調(diào)用 Docker API

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

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

        // 調(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,否則會(huì)導(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();
    }

看完上述內(nèi)容,你們對Java中怎么利用UnixSocket 調(diào)用 Docker API有進(jìn)一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。

文章標(biāo)題:Java中怎么利用UnixSocket調(diào)用DockerAPI
文章來源:http://jinyejixie.com/article32/ggggpc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)建站微信小程序、用戶體驗(yàn)關(guān)鍵詞優(yōu)化、全網(wǎng)營銷推廣、域名注冊

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司
农安县| 大洼县| 瓮安县| 微山县| 邢台市| 竹山县| 博罗县| 阳春市| 岗巴县| 曲阜市| 灵武市| 绥宁县| 宿迁市| 黑水县| 金寨县| 盖州市| 长汀县| 阿克陶县| 石屏县| 藁城市| 长宁县| 科技| 福安市| 江陵县| 自贡市| 得荣县| 乌鲁木齐市| 沂源县| 团风县| 驻马店市| 高邑县| 福建省| 尉氏县| 南城县| 常德市| 江门市| 永康市| 绥芬河市| 保康县| 报价| 曲麻莱县|