下面就展示一下是怎麼通過docker sdk 實現harbor顯像管理功能的
docker 安裝,此處不展開
harbor 安裝 此處不展開
docker sdk 安裝 go get github.com/docker/docker/client
官網文件請參考:
下面以golang 為例,也有python sdk , 這裡就不做詳細解釋了
func imageload(input io.reader) error
cli.negotiateapiversion(ctx)
response, err := cli.imageload(ctx, input, false)
if err != nil
defer response.body.close()
return nil
}
上面是乙個image load 的例子,
連線**: 使用預設環境變數配置生成新的連線 client.fromenv
}authconfig 為對接的harbor使用者名稱密碼
func imagetag(source string, target string) error
cli.negotiateapiversion(ctx)
if err := cli.imagetag(ctx, source, target); err != nil
return nil
}
為映象打上tag ,打上符合harbor命名規則的 ip/project/images
以為上傳image 到harbor
func imagepull(img string) error
cli.negotiateapiversion(ctx)
reader, err := cli.imagepull(ctx, "docker.io/library/alpine", types.imagepulloptions{})
if err != nil
return nil
}
DOCKER 08 搭建本地映象倉庫 Harbor
但這同樣還是受到了本地網路限制,而且對於乙個公司而言,肯定不好隨意放到雲上面,於是便有了 docker 倉庫的私有化。docker 本身是提供了乙個 registry 的容器的,但是並不好用,比如沒用網頁訪問檢視,許可權管理等。於是又有了基於 registry 的 harbor 私有倉庫,本文主要談...
Docker第九章 企業級私有倉庫Harbor
sudo curl l s uname m o usr local bin docker compose2 給compose二進位制賦予可執行許可權 chmod x usr local bin docker compose1 解壓harbor tar zxvf harbor offline inst...
快速排序演算法實現(遞迴實現 棧實現)
基本思想 選擇乙個基準元素,比如選擇最後乙個元素,通過一趟掃瞄,將待排序列分成兩部分,一部分比基準元素小,一部分大於等於基準元素,此時基準元素在其排好序後的正確位置,又稱為軸位置,此位置的元素確定後不再參與排序,然後再用同樣的方法遞迴地排序劃分的兩部分。分析 快速排序是不穩定的排序。快速排序的時間複...