1. 程式人生 > 其它 >Docker API之Remote API

Docker API之Remote API

  Docker之所以在市場上有如此優秀的表現與其優秀的API有著不可分割的關係。其API之所以有如此出色的表現離不開REST(Representational State Transfer)架構,即其API為RESTful API。

  所以在深入瞭解DockerAPI之前先做點準備工作,主要兩點:

  1、RESTful簡單介紹

    RESTful是一種軟體風格架構而不是標準,僅提供一組設計原則和約束條件;主要用於客戶端和伺服器互動類的軟體。其優勢在於可以軟體更簡潔、有層次且易於實現快取等機制。如果一個架構符合REST原則,就稱之為RESTful架構。

    簡單來說,RESTful架構有3個特點:一、每個URI代表一個資源;二、客戶端和伺服器之間,傳遞的是這種資源的某種表現層;三、客戶端通過4個HTTP動詞,對伺服器端資源進行操作,實現REST。

    eg:RESTful風格的API要管理使用者時是這樣的

    //獲取userId對應的user資訊

      get /users/{userId}

    //建立一個新的user

      post /users

    //更改userId對應的user的資訊

      put /users/{userId}

    //刪除userId對應的user

      delete /users/{userId}

    關於RESTful詳細資料在網上可以搜尋到不少,本文僅介紹學習Docker API需要用到的。

  2、開啟socket埠

    為了更好地學習Docker API ,需要設定一下本地的Docker daemon啟動引數,使其開啟socket埠用於返回資訊。在

idea如何整合docker - 池塘裡洗澡的鴨子 - 部落格園 (cnblogs.com)中已經對配置檔案進行了相關的操作。

      

  以上都準備好了就進入本文的正題了。

  Docker 提供了多類RESTful API,包括Docker Registry API、Docker Hub  API、Docker Remote  API、Docker Swarm  API等,本文主要介紹Remote API,具體可參考官網Reference documentation | Docker Documentation中API部分。

  一、容器API

    1、容器列表Docker Engine API v1.41 Reference

        GET  /containers/json

          curl -X GET --unix-socket /var/run/docker.sock http://localhost:2375/containers/json

      docker ps就是 GET /containers/json的執行結果。

    2、建立容器Docker Engine API v1.41 Reference

        POST  /containers/create

    3、監控容器Docker Engine API v1.41 Reference

        GET  /containers/{id}/json

    4、程序列表Docker Engine API v1.41 Reference

        GET  /containers/{id}/top

    5、容器日誌Docker Engine API v1.41 Reference

        GET   /containers/{id}/logs

    6、匯出容器Docker Engine API v1.41 Reference

        GET  /containers/{id}/export

    7、啟動容器Docker Engine API v1.41 Reference

        POST  /containers/{id}/start

    8、停止容器Docker Engine API v1.41 Reference

        POST  /containers/{id}/stop

    9、重啟容器Docker Engine API v1.41 Reference

        POST  /containers/{id}/restart

    10、終止容器Docker Engine API v1.41 Reference

        POST  /containers/{id}/kill

    等其他一些系列容器列表。

  二、映象API

    1、建立映象Docker Engine API v1.41 Reference

        POST  /images/create

    2、使用容器建立映象Docker Engine API v1.41 Reference

        POST  /commit

    3、映象列表Docker Engine API v1.41 Reference

        GET  /images/json

    4、刪除映象Docker Engine API v1.41 Reference

        DELETE  /images/{name}

    5、推送映象Docker Engine API v1.41 Reference

        POST  /images/{name}/push

    6、打上標籤Docker Engine API v1.41 Reference

        POST  /images/{name}/tag

    7、搜尋映象Docker Engine API v1.41 Reference

        GET  /images/search

    8、映象歷史Docker Engine API v1.41 Reference

        GET  /images/{name}/history

    9、構建映象Docker Engine API v1.41 Reference

        GET  /build

    等

未完,待續……