Docker 提供了一個與 Docker 守護進程交互的 API (稱為Docker Engine API),我們可以使用官方提供的 Go 語言的 SDK 進行構建和擴展 Docker 應用程序和解決方案。
創新互聯長期為超過千家客戶提供的網站建設服務,團隊從業經驗10年,關注不同地域、不同群體,并針對不同對象提供差異化的產品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯網生態環境。為羅山企業提供專業的成都網站設計、成都做網站、外貿網站建設,羅山網站改版等技術服務。擁有10多年豐富建站經驗和眾多成功案例,為您定制開發。
轉自:
整理:地鼠文檔
通過下面的命令就可以安裝 SDK 了:
該部分會介紹如何使用 Golang + Docker API 進行管理本地的 Docker。
第一個例子將展示如何運行容器,相當于 docker run docker.io/library/alpine echo "hello world" :
還可以在后臺運行容器,相當于 docker run -d bfirsh/reticulate-splines :
列出正在運行的容器,就像使用 docker ps 一樣:
如果是 docker ps -a ,我們可以通過修改 types.ContainerListOptions 中的 All 屬性達到這個目的:
通過上面的例子,我們可以獲取容器的列表,所以在這個案例中,我們可以去停止所有正在運行的容器。
通過指定容器的 ID,我們可以獲取對應 ID 的容器的日志:
獲取本地所有的鏡像,相當于 docker image ls 或 docker images :
拉取指定鏡像,相當于 docker pull alpine :
除了公開的鏡像,我們平時還會用到一些私有鏡像,可以是 DockerHub 上私有鏡像,也可以是自托管的鏡像倉庫,比如 harbor 。這個時候,我們需要提供對應的憑證才可以拉取鏡像。
值得注意的是:在使用 Docker API 的 Go SDK 時,憑證是以明文的方式進行傳輸的,所以如果是自建的鏡像倉庫,請務必使用 HTTPS !
我們可以將一個已有的容器通過 commit 保存成一個鏡像:
當然,除了可以管理本地的 Docker , 我們同樣也可以通過使用 Golang + Docker API 管理遠程的 Docker 。
默認 Docker 是通過非網絡的 Unix 套接字運行的,只能夠進行本地通信( /var/run/docker.sock ),是不能夠直接遠程連接 Docker 的。
我們需要編輯配置文件 /etc/docker/daemon.json ,并修改以下內容(把 192.168.59.3 改成你自己的 IP 地址),然后重啟 Docker :
創建 client 的時候需要指定遠程 Docker 的地址,這樣就可以像管理本地 Docker 一樣管理遠程的 Docker 了:
現在已經有很多可以管理 Docker 的產品,它們便是這樣進行實現的,比如: portainer 。
golang在近些年被追捧,不管某華,某阿在很多服務器開發上都在使用。
你不用懷疑golang的
優勢:部署簡單,良好的語言設計,并發性好,性能優良,開發簡潔快,標準庫強大,編譯簡單
缺點:還存在一些缺陷(例如垃圾回收),缺少安全檢查,性能方面目前比不過java,第三方庫不及java
但作為新興語種,我們不用擔心,背后有谷歌支持和java持平也就是時間上的問題。
而且前面還有某華,某阿頂著不怕。
請自行查看我前面寫得GO語言開發環境和GO語言IDE編輯器的經驗文章
我們先寫一段GO代碼
很簡單就是打印輸出一個hello world!
保存為print.go文件
然后再CMD下一路cd到print.go目錄下來
在cmd下運行 go run print.go就可以運行go程序了
看看運行結果
GO程序的代碼是可以直接編譯成exe文件的
在print.go目錄下運行 go build print.go即可把go程序編譯成exe文件
完成之后看看exe文件是否存在
最好我們要看看運行exe的效果
拋開個人主觀意見,讓我們從法律的角度探討下。著作權法中,有個“著作權的合理使用”,也就是這些使用情況下,可以不受“專有權利”的限制,不構成侵權。其中和這里探討情況好像有點關系的是:1、個人使用。為個人學習、研究或者欣賞,使用他人已經發表的作品;2、教學使用。為學校課堂教學或者科學研究,翻譯或少量復制已經發表的作品,供教學或科研人員使用,但不得出版發行。
因此,b站行為是否合法,需要從法律角度,看看是否符合以上兩點。由于翻譯并上傳確實是供大家學習使用,從主管故意上看,和以上第2條很接近,但如果要嚴格套用條文,又不是“學校課堂教學”,所以這個行為是否符合“著作權的合理使用”范疇,還需要專業法學人士一起來探討。
網頁題目:go語言管理后臺 go語言運行平臺
文章路徑:http://vcdvsql.cn/article26/ddccpjg.html
成都網站建設公司_創新互聯,為您提供建站公司、服務器托管、響應式網站、動態網站、標簽優化、軟件開發
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯