我正在為 docker 容器開發(fā)一個 go CUI。我只需要選定容器名稱的容器 ID。我試過這樣: id, err := exec.Command("/bin/sh", "-c", "docker", fmt.Sprintf("ps --no-trunc -aqf name=%s"),conName).Output() if err != nil { log.Fatal(err) } fmt.Println("CONTAINER ID:", id)輸出:CONTAINER ID: []
1 回答

縹緲止盈
TA貢獻2041條經(jīng)驗 獲得超4個贊
這對我有用(可能你不需要sudo):
id, err := exec.Command("sudo", "docker", "ps", "--no-trunc", "-aqf", fmt.Sprintf("name=%s",conName)).Output()
if err != nil {
log.Fatal(err)
}
fmt.Println("CONTAINER ID:", string(id))
您的錯誤是, conName 不在括號內(nèi),您還必須將 id 轉(zhuǎn)換為字符串,因為 exec.Command 返回一個字節(jié)數(shù)組。此外,所有參數(shù)都應單獨列出,如果您將多個用空格分隔的參數(shù)作為一個字符串放置,它將不起作用。
- 1 回答
- 0 關注
- 156 瀏覽
添加回答
舉報
0/150
提交
取消