91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

golang中怎么使用docker實現守護進程交互

發布時間:2021-08-05 17:28:56 來源:億速云 閱讀:186 作者:Leah 欄目:云計算

這篇文章將為大家詳細講解有關golang中怎么使用docker實現守護進程交互,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

開發語言 golang

使用 unix domain socket 和 docker 守護進程交互,查詢 鏡像列表

package main

import ( "fmt" "net" "io/ioutil" "encoding/json" )

type Image struct { Created uint64 Id string ParentId string RepoTags []string Size uint64 VirtualSize uint64 }

func main() { addr := net.UnixAddr{"/var/run/docker.sock", "unix"} conn, err := net.DialUnix("unix", nil, &addr) if err != nil { panic(err) }

_, err = conn.Write([]byte("GET /images/json HTTP/1.0\r\n\r\n"))
if err != nil {
    panic(err)
}

result, err_conn := ioutil.ReadAll(conn)
if err_conn != nil {
    panic(err_conn)
}

body := getBody(result[:])

var images []Image

err_js := json.Unmarshal(body, &images)
if err_js != nil {
    panic(err_js)
}

fmt.Println("len of images: ", len(images))
fmt.Println("image.Id: ", images[0].Id)

}

func getBody(result []byte) (body []byte) { for i := 0; i <= len(result) - 4; i++ { if result[i] == 13 && result[i+1] == 10 && result[i+2] == 13 && result[i+3] == 10 { body = result[i+4:] break } } return }

關于golang中怎么使用docker實現守護進程交互就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

高雄市| 浦城县| 永靖县| 自贡市| 定襄县| 吉水县| 长宁区| 津南区| 陆良县| 太仓市| 周至县| 蓬莱市| 繁峙县| 定安县| 德化县| 都安| 屏南县| 同心县| 炎陵县| 襄垣县| 天全县| 布尔津县| 肇庆市| 武胜县| 平凉市| 武乡县| 平湖市| 读书| 新和县| 凉城县| 金坛市| 大同市| 麦盖提县| 宁安市| 景宁| 左贡县| 宁陵县| 遂溪县| 东宁县| 工布江达县| 惠来县|