中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Docker私有倉庫Registry如何搭建

發布時間:2021-11-18 17:17:55 來源:億速云 閱讀:170 作者:小新 欄目:云計算

這篇文章主要為大家展示了“Docker私有倉庫Registry如何搭建”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“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版本。

2. Registry的部署

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

$ sudo docker pull registry:2

然后啟動一個容器,

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

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

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

$ sudo docker ps 
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
f3766397a458        registry:2      "/bin/registry /etc/d"   46 seconds ago      Up 45 seconds       0.0.0.0:5000->5000/tcp   registry

說明我們已經啟動了registry服務,打開瀏覽器輸入http://127.0.0.1:5000/v2,出現下面情況說明registry運行正常,

 Docker私有倉庫Registry如何搭建

3. 驗證

現在我們通過將鏡像push到registry來驗證一下。

我的機器上有個hello-world的鏡像,我們要通過docker tag將該鏡像標志為要推送到私有倉庫,

$ sudo docker tag hello-world 127.0.0.1:5000/hello-world

然后查看以下本地的鏡像,

$ sudo docker images
REPOSITORY                   TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
registry                     2               b91f745cd233        5 days ago          220.1 MB
ubuntu                       14.04               a5a467fddcb8        6 days ago          187.9 MB
hello-world                  latest              975b84d108f1        2 weeks ago         960 B127.0.0.1:5000/hello-world   latest              975b84d108f1        2 weeks ago         960 B

接下來,我們運行docker push將hello-world鏡像push到我們的私有倉庫中,

$ sudo docker push 127.0.0.1:5000/hello-world
The push refers to a repository [127.0.0.1:5000/hello-world] (len: 1)
975b84d108f1: Image successfully pushed 
3f12c794407e: Image successfully pushed 
latest: digest: sha256:1c7adb1ac65df0bebb40cd4a84533f787148b102684b74cb27a1982967008e4b size: 2744

現在我們可以查看我們本地/wks/registry目錄下已經有了剛推送上來的hello-world。我們也在瀏覽器中輸入http://127.0.0.1:5000/v2/_catalog,如下圖所示,

 Docker私有倉庫Registry如何搭建

現在我們可以先將我們本地的127.0.0.1:5000/hello-world和hello-world先刪除掉,

$ sudo docker rmi hello-world
$ sudo docker rmi 127.0.0.1:5000/hello-world

然后使用docker pull從我們的私有倉庫中獲取hello-world鏡像,

$ sudo docker pull 127.0.0.1:5000/hello-world
Using default tag: latest
latest: Pulling from hello-world
b901d36b6f2f: Pull complete 
0a6ba66e537a: Pull complete 
Digest: sha256:1c7adb1ac65df0bebb40cd4a84533f787148b102684b74cb27a1982967008e4b
Status: Downloaded newer image for 127.0.0.1:5000/hello-world:latest

$ sudo docker images
REPOSITORY                   TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
registry                     2               b91f745cd233        5 days ago          220.1 MB
ubuntu                       14.04               a5a467fddcb8        6 days ago          187.9 MB127.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即可。

以上是“Docker私有倉庫Registry如何搭建”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

菏泽市| 遂川县| 巩义市| 乌兰浩特市| 宝鸡市| 嵩明县| 吴旗县| 申扎县| 高唐县| 晋中市| 岐山县| 防城港市| 姜堰市| 兰坪| 光山县| 高尔夫| 亳州市| 威海市| 牟定县| 宁夏| 阳西县| 莆田市| 郑州市| 柯坪县| 黄骅市| 平度市| 鹤壁市| 东乡县| 白山市| 武清区| 奇台县| 陆丰市| 丰县| 渭源县| 三原县| 应城市| 大连市| 灵寿县| 营山县| 霞浦县| 会东县|