1. 程式人生 > >docker-建立私有registry(一)

docker-建立私有registry(一)

我們知道可以使用hub.docker.com作為我們公共或者私有的registry。但由於伺服器在國外的原因,網速會非常的慢。
所以我們在利用docker開發構建容器服務時,我們希望能夠建立自己的私有registry,上傳映象值我們的私有registry中心,然後在其他物理機上部署的時候,可以快速的pull,然後實現大規模的分發以及部署,提高效率。

下面將會說一下如何通過registry容器實現這個。

開源的基於swoole擴充套件實現的框架https://github.com/bingcool/swoolefy

環境:centos7.0,  docker1.13.1版本

docker1.12版本以後,docker的可執行檔案從/usr/bin/docker變成了/ussr/bin/dockerd,每一個版本在不同的環境下,dockerd的daemon都是不同的配置,具體的要根據docker官網的指導進行配置。我們在網上可以看到很多關於如何配置docker的daemon啟動引數教程,以及一些出現的問題,其實大部分都是講的比較亂的,或者不根據自己的實際系統和docker版本去確定如何配置的,因為不同的系統版本和docker版本具體的opts的選項是不同的,這個配置的檔案的位置也是不一樣的,如果沒清楚整個區別,就跟著網上的改來改去,最後配置還是沒能生效。


(1)無認證的registry
在環境中,dockerd的配置檔案在/etc/docker/daemon.json中,如果沒有該檔案,可以手動建立。

第一步:pull docker官方的registry的第二個版本,docker1.6版本以上支援registry2
docker pull registry:2.6.0

或者docker pull registry 不指定版本,表示latest版本

第二步:配置daemon.json,去掉docker預設的https的訪問
vim /etc/docker/daemon.json
裡面的內容是一個json物件,加上一項insecure-registries,地址自己更改:
{
"insecure-registries":["192.168.1.78:5000"]
}

然後重啟docker,執行
systemctl daemon-reload docker
systemctl restart docker

第三步
:無認證啟動registry容器
docker run -d --name registry -p 5000:5000 --restart=always -v /opt/registry/:/var/lib/registry/ registry:2.6.0
上傳到私有映象的映象到時是預設存放在容器的/var/lib/registry/,為了防止刪除registry,上傳的映象也被刪除,所以啟用一個volume,將上傳的映象持久化儲存在我們物理機上,這裡儲存位置是/opt/registry/

第四步:測試是否啟動容器
curl http://192.168.1.78:5000/v2/_catalog

如果返回{"repositories":[]},代表啟動成功了!

第五步:測試上傳到我們自己的私有registry
將nginx這個映象重新命名tag
docker tag nginx 192.168.1.78:5000/mynginx
這裡需要注意的是重新命名的tag必須帶有建立192.168.1.78:5000/這個字首,後面的mynginx是新映象名。
然後開始進行push到我們建立的私有registry
docker pull 192.168.1.78:5000/mynginx
再通過執行
curl http://192.168.1.78:5000/v2/_catalog
可以看到返回{"repositories":["mynginx"]}
說明已經push到了自己的registry


第六步:測試pull
同樣還是在本機上進行pull
首先刪除本機存在的映象192.168.1.78:5000/mynginx(剛才通過tag重新命名的)
docker rmi 192.168.1.78:5000/mynginx
然後
docker images
可以看到已經沒有了192.168.1.78:5000/mynginx這個映象
下面開始pull這個映象
docker pull 192.168.1.78:5000/mynginx
然後再看
docker images
可以看到出現這個192.168.1.78:5000/mynginx
說明pull成功了

第七步:在其他的物理機上pull這個映象
同樣需要在安裝docker,然後再/etc/docker/daemon.json這個檔案中
新增insecure-registries,ip地址自己更改:
{
"insecure-registries":["192.168.1.78:5000"]
}
然後重啟docker,執行
ststemctl daemon-reload docker
systemctl restart docker
docker pull 192.168.1.78:5000/mynginx 
這樣子就可以從自己的registry拉取映象了,當然也可以上傳映象
假如有一個mynginx:1.1
docker tag 192.168.1.78:5000/mynginx 192.168.1.78:5000/mynginx:1.1
docker push 192.168.1.78:5000/mynginx:1.1
其實192.168.1.78:5000/這個就是建立的私有registry的地址

無認證的registry已經完成了,特別在區域網內部開發或者線上部署時非常有用!

下一節將會總結一下關於認證模式的registry,歡迎留意!

相關推薦

docker-建立私有registry()

我們知道可以使用hub.docker.com作為我們公共或者私有的registry。但由於伺服器在國外的原因,網速會非常的慢。所以我們在利用docker開發構建容器服務時,我們希望能夠建立自己的私有re

Docker建立私有Registry

一、從github上下載registry映象 [[email protected] ~]# docker pull registry 二、建立Docker Registry [[email protected] ~]# docker run -d -v

Docker部署註冊中心、Docker建立私有映象庫、自簽名證書、Deploy a registry server

這是我在內部部署Docker Registry時記錄下來的筆記,操作環境是Centos 7、Docker 18.06.1-ce 1、執行registry 我當前所使用的主機的IP是192.168.1.249,工作目錄在:/data/docker/registry, #

docker 建立私有倉庫-registry

###設定私有倉庫 registry 一、建立docker 1.設定防火牆 iptables -I INPUT 1 -p tcp --dport 5000 -j ACCEPT  2. 新增軟體源資訊 sudo yum install -y yum-utils device-ma

docker 建立私有映象倉庫

mkdir -p /registry/public/repos docker run --name register -p 5000:5000 -v /registry/public/repos:/var/lib/registry -d registry  開放埠 fire

docker建立私有倉庫

倉庫(Repository)是集中存放映象的地方。一個容易混淆的概念是註冊伺服器(Registry)。實際上註冊伺服器是管理倉庫的具體服務 器,每個伺服器上可以有多個倉庫,而每個倉庫下面有多個映象。從這方面來說,倉庫可以 被認為是一個具體的專案或目錄。例如對於倉庫地址 docker.sina.com.c

一路踩坑:Centos7環境下Docker搭建私有registry

寫在前面: Docker私有registry指的是在私有伺服器上搭建的、用於管理Docker repositories的實體。可以理解成私有的Docker資源管理倉庫。搭建Docker私有registry,本質上是從Docker官方庫拉取registry映象,

docker搭建私有registry及開啟docker映象編譯伺服器遠端訪問許可權

一、前言    本案例使用阿里雲伺服器搭建,筆者將registry和docker映象編譯分開在兩臺機器,小夥伴們實際使用,可以在一臺機器操作即可。    環境:Centos7    registry伺服器 IP:47.100.219.117    docker映象編譯伺服器

解決Jenkins建立Docker Image後無法推送到私有Registry的問題

最近剛開始使用Docker,把常用的命令摸了一遍後,就想把映象的build過程放到Jenkins上。具體過程就不說了,十分簡單,只需要幾條命令就可以了。 可以在向私有registry推送時卻報出了異常: docker push registry.mydo

使用Docker registry映象建立私有倉庫

2015-01-25 wcdj 摘要:安裝Docker後,可以通過官方提供的registry映象來簡單搭建一套本地私有倉庫環境,本文記錄簡單的搭建過程。 1 使用registry啟動私有倉庫的容器 docker run -d -p 5000:5000 -v /root/m

Docker私有倉庫registry

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

Docker本地私有倉庫的建立

docker 本地倉庫 環境:192.168.139.26 docker的客戶端192.168.139.52 docker的服務器端(倉庫所在位置)首先在192.168.139.52上下載registry鏡像[email protected]/* */:~$ sudo docker pul

docker:用registry快速搭建私有鏡像倉庫

docker docker 私有鏡像 registry docker registry 1、背景 在 Docker 中,當我們執行 docker pull xxx 的時候,可能會比較好奇,docker 會去哪兒查找並下載鏡像呢? ?它實際上是從 registry.hub.docker.co

docker網絡管理與本地私有Registry創建部署

docker網絡分類 docker網絡管理 docker Registry部署 docker Registry htt 概述 上一篇博客大致描述了docker的原理與傳統虛擬機的使用,以及docker基本使用,本文主要描述docker的網絡管理及重點介紹docker本地(內部)registry

Docker鏡像創建及建立私有倉庫

tar.gz 分別是 system ffffff .tar.gz 通過 用戶 apache -o Docker鏡像創建方法 創建鏡像的方法有三種,分別是基於已有的鏡像創建、基於本地模板創建、基於Dockerfile 創建,下面著重介紹這三種創建鏡像的方法。 ? 基於已有鏡像

docker for mac 建立私有倉庫

拉取映象 docker pull registry 執行registry run -d -p 5000:5000 -v /Users/huangenai/docker/registry:/var/lib/registry registry -d後臺執行   

Harbor--搭建企業級私有docker映象倉庫(

                Harbor映象倉庫搭建 Harbor是一個用於儲存和分發Docker映象的企業級Registry伺服器,通過新增一些企業必需的功能

docker容器技術之私有registry(七)

 上一篇文章:docker容器技術之Dockerfile詳解(六)  目錄 方法一:docker distribution 方法二:Harbor 方法一:docker distribution docker為了能夠

docker私有Registry倉庫--快速搭建--------harbor

Harbor可以通過Docker Composer的方式來部署,如果有正常執行的k8s環境,也可以使用k8s來部署Harbor,本文采用 Docker Composer的方式。  準備   Linux系統為Centos 7。 docker ,預設安裝即可 yum -y

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

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