Docker搭建私有鏡像倉(cāng)庫(kù)

現(xiàn)在Docker用處越來(lái)越多了,所以今天就想著搭建一個(gè)私有鏡像倉(cāng)庫(kù)來(lái)維護(hù)內(nèi)部我們自己的鏡像。

環(huán)境

  • CentOS 7.x
  • Docker 1.12.6

安裝 docker-distribution

$ sudo yum install -y docker-distribution

$ sudo systemctl enable docker-distribution

$ sudo systemctl start docker-distribution

使用

獲取測(cè)試鏡像

首先從Docker中央倉(cāng)庫(kù)獲取一個(gè)用來(lái)測(cè)試的容器鏡像,這里就使用busybox來(lái)作為測(cè)試鏡像。

$ sudo docker pull busybox

$ sudo docker images
REPOSITORY                    TAG                 IMAGE ID            CREATED             SIZE
docker.io/busybox             latest              9d7e6df8e5ca        8 hours ago         1.129 MB

標(biāo)記并上傳鏡像私有鏡像

我們這里不對(duì)busybox做任何修改,只是換個(gè)名字作為私有鏡像。

$ sudo docker tag busybox:latest localhost:5000/kongxx/mybusybox:latest
$ sudo docker push localhost:5000/kongxx/mybusybox:latest

上傳完成后可以使用下面命令查看一下

$ curl http://192.168.0.109:5000/v2/kongxx/busybox/tags/list
{"name":"kongxx/busybox","tags":["latest"]}

同時(shí)我們查看一下本地的鏡像列表

$ sudo docker images
REPOSITORY                        TAG                 IMAGE ID            CREATED             SIZE
localhost:5000/kongxx/mybusybox   latest              9d7e6df8e5ca        8 hours ago         1.129 MB
docker.io/busybox                 latest              9d7e6df8e5ca        8 hours ago         1.129 MB

測(cè)試鏡像倉(cāng)庫(kù)

為了能訪問(wèn)私有倉(cāng)庫(kù)(因?yàn)檫@里是自己測(cè)試,所以沒(méi)有使用https),還需要修改一下Docker配置文件

編輯 /etc/sysconfig/docker 文件,將其中的 OPTIONS 參數(shù)加上

--insecure-registry 192.168.0.109:5000

然后重新啟動(dòng)Docker服務(wù)

$ sudo systemctl restart docker

為了測(cè)試,我們先把原來(lái)本地已經(jīng)有的鏡像刪除

$ sudo docker rmi docker.io/busybox
$ sudo docker rmi localhost:5000/kongxx/mybusybox

然后重新獲取鏡像,如下:

$ sudo docker pull 192.168.0.109:5000/kongxx/mybusybox
Using default tag: latest
Trying to pull repository 192.168.0.109:5000/kongxx/mybusybox ...
latest: Pulling from 192.168.0.109:5000/kongxx/mybusybox
414e5515492a: Pull complete
Digest: sha256:fbcd856ee1f73340c0b7862201b9c045571d1e357797e8c4c0d02a0d21992b80

從輸出可以看到已經(jīng)可以從自己的倉(cāng)庫(kù)下載鏡像了。

其他

最后說(shuō)一下,如果要查詢私有倉(cāng)庫(kù)里有哪些鏡像,我還沒(méi)有找到啥好方法可以一次全部查到,但是可以通過(guò)下面的組合命令來(lái)查詢。

首先查詢私有倉(cāng)庫(kù)上有那些鏡像名

$ curl -XGET http://192.168.0.109:5000/v2/_catalog
{"repositories":["kongxx/mybusybox","mandy/mybusybox"]}

然后使用下面的命令查看鏡像有那些版本

# curl -XGET http://192.168.0.109:5000/v2/<image_name>/tags/list
$ curl -XGET http://192.168.0.109:5000/v2/kongxx/mybusybox/tags/list
{"name":"kongxx/mybusybox","tags":["latest"]}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容