當前位置:編程學習大全網 - 行動軟體 - 如何對docker倉庫生成驗證

如何對docker倉庫生成驗證

Docker私有倉庫Registry的搭建驗證

1. 關於Registry

官方的Docker hub是壹個用於管理公***鏡像的好地方,我們可以在上面找到我們想要的鏡像,也可以把我們自己的鏡像推送上去。但是,有時候,我們的使用場景需要我們擁有壹個私有的鏡像倉庫用於管理我們自己的鏡像。這個可以通過開源軟件Registry來達成目的。

Registry在github上有兩份代碼:老代碼庫和新代碼庫。老代碼是采用python編寫的,存在pull和push的性能問題,出到0.9.1版本之後就標誌為deprecated,不再繼續開發。從2.0版本開始就到在新代碼庫進行開發,新代碼庫是采用go語言編寫,修改了鏡像id的生成算法、registry上鏡像的保存結構,大大優化了pull和push鏡像的效率。

官方在Docker hub上提供了registry的鏡像(詳情),我們可以直接使用該registry鏡像來構建壹個容器,搭建我們自己的私有倉庫服務。Tag為latest的registry鏡像是0.9.1版本的,我們直接采用2.1.1版本。

2. Registry的部署

運行下面命令獲取registry鏡像,

$ sudo docker pull registry:2.1.1

然後啟動壹個容器,

$ sudo docker run -d -v /opt/registry:/var/lib/registry -p 5000:5000 --restart=always --name registry registry:2.1.1

Registry服務默認會將上傳的鏡像保存在容器的/var/lib/registry,我們將主機的/opt/registry目錄掛載到該目錄,即可實現將鏡像保存到主機的/opt/registry目錄了。

運行docker ps看壹下容器情況,

lienhua34@lienhua34-Compaq-Presario-CQ35-Notebook-PC ~ $ sudo docker ps

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

f3766397a458 registry:2.1.1 "/bin/registry /etc/d" 46 seconds ago Up 45 seconds 0.0.0.0:5000->5000/tcp registry

說明我們已經啟動了registry服務,打開瀏覽器輸入plete

0a6ba66e537a: Pull complete

Digest: sha256:1c7adb1ac65df0bebb40cd4a84533f787148b102684b74cb27a1982967008e4b

Status: Downloaded newer image for 127.0.0.1:5000/hello-world:latest

lienhua34@lienhua34-Compaq-Presario-CQ35-Notebook-PC ~ $ sudo docker images

REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE

registry 2.1.1 b91f745cd233 5 days ago 220.1 MB

ubuntu 14.04 a5a467fddcb8 6 days ago 187.9 MB

127.0.0.1:5000/hello-world latest 0a6ba66e537a 2 weeks ago 960 B

4. 可能問題

可能會出現無法push鏡像到私有倉庫的問題。這是因為我們啟動的registry服務不是安全可信賴的。這是我們需要修改docker的配置文件/etc/default/docker,添加下面的內容,

DOCKER_OPTS="--insecure-registry xxx.xxx.xxx.xxx:5000"

然後重啟docker後臺進程,

$ sudo service docker restart

這是再push即可。

  • 上一篇:電視劇親愛的自己分集劇情 親愛的自己劇情簡介
  • 下一篇:海虹的功效與作用 海虹的功效有哪些
  • copyright 2024編程學習大全網