欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳解Docker私有倉庫Registry的搭建驗證

 更新時間:2017年05月02日 09:19:31   作者:lienhua34  
這篇文章主要介紹了詳解Docker私有倉庫Registry的搭建驗證,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

1. 關于Registry

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

 Registry在github上有兩份代碼:老代碼庫新代碼庫。老代碼是采用python編寫的,存在pull和push的性能問題,出到0.9.1版本之后就標志為deprecated,不再繼續(xù)開發(fā)。從2.0版本開始就到在新代碼庫進行開發(fā),新代碼庫是采用go語言編寫,修改了鏡像id的生成算法、registry上鏡像的保存結構,大大優(yōu)化了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目錄掛載到該目錄,即可實現(xiàn)將鏡像保存到主機的/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

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

 

3. 驗證

現(xiàn)在我們通過將鏡像push到registry來驗證一下。

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

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

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

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
hello-world         latest       975b84d108f1    2 weeks ago     960 B
127.0.0.1:5000/hello-world  latest       975b84d108f1    2 weeks ago     960 B

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

lienhua34@lienhua34-Compaq-Presario-CQ35-Notebook-PC ~ $ 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

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

 

現(xiàn)在我們可以先將我們本地的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鏡像,

lienhua34@lienhua34-Compaq-Presario-CQ35-Notebook-PC ~ $ 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
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. 可能問題

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

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

然后重啟docker后臺進程,

$ sudo service docker restart

這是再push即可。

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • Docker鏡像用普通用戶啟動服務的實現(xiàn)

    Docker鏡像用普通用戶啟動服務的實現(xiàn)

    使用普通用戶啟動Docker容器中的服務,可以有效降低潛在的安全風險,本文主要介紹了Docker鏡像用普通用戶啟動服務的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-07-07
  • Docker network自定義網(wǎng)絡方式

    Docker network自定義網(wǎng)絡方式

    這篇文章主要介紹了Docker network自定義網(wǎng)絡方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • MAC下安裝docker教程

    MAC下安裝docker教程

    Docker是當下十分火的一項技術,Docker使用了Linux-specific內(nèi)核特定,所以在Mac OS X無法直接本地運行。但是可以通過安裝Boot2Docker application實現(xiàn)。Boot2Docker包含了Virtual Box VM,Docker和Boot2Docker管理工具。
    2016-02-02
  • 在Docker容器中使用iptables時的最小權限的開啟方法

    在Docker容器中使用iptables時的最小權限的開啟方法

    這篇文章主要介紹了在Docker容器中使用iptables時的最小權限的開啟方法的相關資料,需要的朋友可以參考下
    2017-01-01
  • docker 打包本地鏡像,并到其他機器進行恢復操作

    docker 打包本地鏡像,并到其他機器進行恢復操作

    這篇文章主要介紹了docker 打包本地鏡像,并到其他機器進行恢復操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • Jenkins整合Docker實現(xiàn)CICD自動化部署的詳細過程(若依項目)

    Jenkins整合Docker實現(xiàn)CICD自動化部署的詳細過程(若依項目)

    本文介紹了如何使用Jenkins和Docker實現(xiàn)CI/CD自動化部署,文章介紹了環(huán)境準備,包括Jenkins、Docker、JDK、Node和Maven,然后討論了如何配置GitLab環(huán)境并利用Webhooks實現(xiàn)代碼的自動拉取和部署,最后,展示了如何部署前后端分離的項目,并通過實際操作驗證了整個流程的有效性
    2024-10-10
  • 常用的Docker命令及示例匯總分析

    常用的Docker命令及示例匯總分析

    這篇文章主要介紹了常用的Docker命令及示例的匯總分析,附含源碼示例分析,有需要的朋友可以借鑒參考下,希望可以對廣大讀者有所幫助
    2021-09-09
  • docker發(fā)布sunnyNgrok實現(xiàn)內(nèi)外網(wǎng)穿透的方法(容器內(nèi)執(zhí)行命令)

    docker發(fā)布sunnyNgrok實現(xiàn)內(nèi)外網(wǎng)穿透的方法(容器內(nèi)執(zhí)行命令)

    這篇文章主要介紹了docker上發(fā)布 sunnyNgrok 實現(xiàn)內(nèi)外網(wǎng)穿透,容器內(nèi)執(zhí)行命令,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-03-03
  • 輕松安裝docker并運行docker swarm模式

    輕松安裝docker并運行docker swarm模式

    這篇文章主要介紹了安裝docker并運行docker swarm模式的相關知識,非常不錯,具有參考借鑒價值,需要的朋友一起學習吧
    2016-12-12
  • docker的安裝及docker-compose詳解

    docker的安裝及docker-compose詳解

    Docker是一種輕量級的容器技術,可以幫助開發(fā)者更加方便地打包、發(fā)布和管理應用程序,在Linux系統(tǒng)上安裝Docker非常容易,這篇文章主要介紹了docker的安裝及docker-compose,需要的朋友可以參考下
    2024-05-05

最新評論