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

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è)公司
新和县| 台江县| 元朗区| 闻喜县| 岚皋县| 油尖旺区| 武义县| 佛冈县| 同仁县| 余庆县| 茂名市| 邓州市| 定远县| 莎车县| 台江县| 弋阳县| 大兴区| 清远市| 东宁县| 长宁县| 诸城市| 临夏市| 舒兰市| 乐山市| 阿尔山市| 皮山县| 达拉特旗| 腾冲县| 永昌县| 和林格尔县| 武宣县| 华阴市| 温宿县| 凌海市| 普兰店市| 陆川县| 壤塘县| 大足县| 钟祥市| 东平县| 多伦县|