1. 程式人生 > >Docker私有倉庫Registry的搭建驗證

Docker私有倉庫Registry的搭建驗證

1. 關於Registry

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

 Registrygithub上有兩份程式碼:老程式碼庫新程式碼庫。老程式碼是採用python編寫的,存在pullpush的效能問題,出到0.9.1版本之後就標誌為deprecated,不再繼續開發。從2.0版本開始就到在新程式碼庫進行開發,新程式碼庫是採用go語言編寫,修改了映象id的生成演算法、registry

上映象的儲存結構,大大優化了pullpush映象的效率。

 官方在Docker hub上提供了registry的映象(詳情),我們可以直接使用該registry映象來構建一個容器,搭建我們自己的私有倉庫服務。Taglatestregistry映象是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看一下容器情況,

[email protected] ~ $ 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服務,開啟瀏覽器輸入http://127.0.0.1:5000/v2,出現下面情況說明registry執行正常,

 

3. 驗證

現在我們通過將映象pushregistry來驗證一下。

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

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

然後檢視以下本地的映象,

[email protected] ~ $ 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 pushhello-world映象push到我們的私有倉庫中,

[email protected] ~ $ 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

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

 

現在我們可以先將我們本地的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映象,

[email protected] ~ $ 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
[email protected]-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即可。

(done)

**版本宣告:該博文為博主原創,如需轉載,請事先徵求博主同意。

相關推薦

Docker私有倉庫Registry搭建驗證

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

Docker私有倉庫Registry認證搭建

docker registry mongodb 前言: 首先,Docker Hub是一個很好的用於管理公共鏡像的地方,我們可以在上面找到想要的鏡像(Docker Hub的下載量已經達到數億次);而且我們也可以把自己的鏡像推送上去。但是,有的時候我們的使用場景需要擁有一個私有的鏡像倉庫用於管理

Docker 私有倉庫搭建

docker 私有倉庫 registry Docker在2015年推出了distribution項目,即Docker Registry 2。相比於old registry,Registry 2使用Go實現,在安全性、性能方面均有大幅改進。Registry設計了全新的Rest API,並且在ima

docker私有倉庫搭建和使用。

命令 proc cto secure doc entos 分享 inux port 1.下載倉庫鏡像docker pull registry 2.創建私有倉庫容器-d表示後臺啟動docker run -d -p 5000:5000 -v /opt/data/registry

搞定Docker私有倉庫Registry

一、什麼是Docker私有倉庫Registry 官方的Docker hub是一個用於管理公共映象的好地方,我們可以在上面找到我們想要的映象,也可以把我們自己的映象推送上去。但是,有時候我們的伺服器無法訪問網際網路,或者你不希望將自己的映象放到公網當中,那麼你就需要Doc

教你分分鐘搞定Docker私有倉庫Registry

一、什麼是Docker私有倉庫Registry 官方的Docker hub是一個用於管理公共映象的好地方,我們可以在上面找到我們想要的映象,也可以把我們自己的映象推送上去。但是,有時候我們的伺服器無法訪問網際網路,或者你不希望將自己的映象放到公網當中,那麼你就需要Docker Registry,它可以用來儲

Docker 私有倉庫 Harbor registry 安全認證搭建 [Https]

engine root sha2 create rtu r12 -i 啟動 鏡像倉庫 Harbor源碼地址:https://github.com/vmware/harborHarbort特性:基於角色控制用戶和倉庫都是基於項目進行組織的, 而用戶基於項目可以擁有不同的權限。

如何在CentOS 7.x / RHEL 7.x上搭建Docker Private Registry(Docker私有倉庫)

原作者:Pradeep Kumar  轉載來源:https://www.linuxtechi.com/setup-docker-private-registry-centos-7-rhel-7/   如何在CentOS 7.x / RHEL 7.x上設定Dock

安裝Docker-ce以及Dockerfile和私有映象倉庫registry搭建

轉載請表明出處 https://blog.csdn.net/Amor_Leo/article/details/84963324 謝謝 安裝Docker-ce私有映象倉庫registry搭建 安裝Docker-ce Docker基本命令 do

[Docker] Docker 私有倉庫搭建教程(帶使用者驗證

1.  基礎環境 作業系統:CentOS/Redhat 7 x86-64       Docker:1.12.6 2.  搭建步驟(伺服器端) 2.1  下載 Registry 映象 # docker pull registry:2.5 2.2  生成 使用者名稱/密碼

docker基礎 私有倉庫repository搭建(1) registry

ttr def ffi gis label mes 等等 建立 serve 使用docker的login命令之後,可以使用push命令將鏡像推送到dockerhub上,但是dockerhub畢竟在公網上,免費的帳戶只有一個private 的repository是免費的,

docker 搭建私有倉庫registry (多使用者)

Docker Registry v2 + Token Auth Server (Registry v2 認證) 環境:虛擬機器中的centos 1,建立目錄(基於/data/目錄下) auth_server/ ├── config │   └── auth_config

docker基礎:私有倉庫repository搭建(1):registry

使用docker的login命令之後,可以使用push命令將映象推送到dockerhub上,但是dockerhub畢竟在公網上,免費的帳戶只有一個private 的repository是免費的,剩

docker私有倉庫搭建 使用Portus管理docker registry 私有倉庫

 到此,Portus的安裝已經完成。 但是配置還沒有完成,修改修改docker的配置檔案 5,修改docker配置檔案 vim /lib/systemd/system/docker.service 將 --insecure-registry 192.168.223.132:5000 加到ExecSt

Docker私有倉庫registry

cat 曝光 catalog mar ron 測試 mbo detail 查看 摘要: 1.拉去 registry鏡像,例如在daocloud.io/registry這個私有鏡像倉庫 docker pull daocloud.io/registry 2.運行容器,掛在鏡像內

Docker私有倉庫搭建

docker 私有倉庫 由於公有倉庫有時連接會出現超時,下載速度慢等情況故搭建私有倉庫鏡像server端可以login官方的Doker Hub,可以pull,push和私有倉庫但client只能操作自己搭建的倉庫server 192.168.127.142client 192.168.1

CentOS7搭建Docker私有倉庫----Docker

服務 tar 由於 安全 lib mage 本地倉庫 用戶 鏡像 有時候使用Docker Hub這樣的公共倉庫可能不方便,這種情況下用戶可以使用registry創建一個本地倉庫供私人使用,這點跟Maven的管理類似。目前Docker Registry已經升級到了v2,最新版

docker 私有倉庫之Harbor搭建與使用

login rbo scope entity 支持 bogon nal hub mtp Harbor搭建 下載Harbor: wget https://github.com/vmware/harbor/releases/ 配置Harbor t

CentOS 7 : Docker私有倉庫搭建和使用

docker reg expect use 啟動 倉庫 AR 通過 sel 系統環境: CentOS 7.2 192.168.0.179:docker倉庫 192.168.0.60:客戶端 安裝並啟動docker yum -y install docker system

Centos7 Docker私有倉庫搭建

Centos7 Docker私有倉庫搭建Centos7 Docker私有倉庫搭建 倉庫:集中存放鏡像的地方,可分為公共倉庫和私有倉庫(公共倉庫"http://hub.docker.com"或國內的"http://www.daocloud.io") 註冊服務器才是存放倉庫具體的服務器