Docker搭建本地私有仓库

和Mavan的管理一样,Dockers不仅提供了一个中央仓库,同时也允许我们使用registry搭建本地私有仓库。使用私有仓库有许多优点:

一、节省网络带宽,针对于每个镜像不用每个人都去中央仓库上面去下载,只需要从私有仓库中下载即可;

二、提供镜像资源利用,针对于公司内部使用的镜像,推送到本地的私有仓库中,以供公司内部相关人员使用。

接下来我们就大致说一下如何在本地搭建私有仓库。

环境准备

环境:两个装有Docker的Ubuntu虚拟机
虚拟机一:192.168.112.132 用户开发机
虚拟机二:192.168.112.136 用作私有仓库

此处我们准备了两个虚拟机,分别都安装了Docker,其中132机器用作开发机,136机器用作registry私有仓库机器。环境准备好之后接下来我们就开始搭建私有镜像仓库。

搭建私有仓库

首先在136机器上下载registry镜像

$ sudo docker pull registry
下载完之后我们通过该镜像启动一个容器

$ sudo docker run -d -p 5000:5000 registry
默认情况下,会将仓库存放于容器的/tmp/registry目录下,这样如果容器被删除,则存放于容器中的镜像也会丢失,所以我们一般情况下会指定本地一个目录挂载到容器的/tmp/registry下,如下:
$ sudo docker run -d -p 5000:5000 -v /opt/data/registry:/tmp/registry registry

可以看到我们启动了一个容器,地址为:192.168.112.136:5000

接下来我们就要操作把一个本地镜像push到私有仓库中
在132机器下pull一个比较小的镜像来测试(此处使用的是busybox)

$ sudo docker pull busybox

接下来修改一下该镜像的tag

$ sudo docker tag busybox 192.168.112.136:5000/busybox

接下来把打了tag的镜像上传到私服

$ sudo docker push 192.168.112.136:5000/busybox

可以看到push失败,具体结果如下:

2015/01/05 11:01:17 Error: Invalid registry endpoint https://192.168.112.136:5000/v1/: Get https://192.168.112.136:5000/v1/_ping: dial tcp 192.168.112.136:5000: connection refused. If this private registry supports only HTTP or HTTPS with an unknown CA certificate, please add `--insecure-registry 192.168.112.136:5000` to the daemon's arguments. In the case of HTTPS, if you have access to the registry's CA certificate, no need for the flag; simply place the CA certificate at /etc/docker/certs.d/192.168.112.136:5000/ca.crt

因为Docker从1.3.X之后默认docker registry使用的是https,所以当用docker pull命令下载远程镜像时,如果远程docker registry是非https的时候就会报上面的错误。

为了解决这个问题需要在启动docker server时增加启动参数
修改docker启动配置文件(此处是修改132机器的配置)Ubuntu下配置文件地址为:/etc/init/docker.conf
在其中增加--insecure-registry 192.168.112.136:5000如下所示:

$ sudo vi /etc/init/docker.conf

修改完之后,重启Docker服务

$ sudo restart docker

重启完之后我们再次运行推送命令,把本地镜像推送到私有服务器上

$ sudo docker push 192.168.112.136:5000/busybox

可以看到镜像已经push到私有仓库中去了,接下来我们删除本地镜像,然后从私有仓库中pull下来该镜像


删除了本地镜像,然后我们从私有镜像仓库中下载该镜像

$ sudo docker pull 192.168.112.136:5000/busybox

好了,到此本地搭建registry私有仓库就完结了,如有任何问题欢迎指正。

  • 3
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 您可以通过以下步骤来搭建Harbor私有仓库: 1. 安装DockerDocker-compose 2. 下载Harbor镜像并启动容器 3. 访问Harbor Web界面并进行初始化设置 4. 创建用户帐户并登录 5. 推送和下载镜像 请注意,Harbor的安装和配置可能需要一些技术知识,并且应根据您的系统环境进行适当的调整。有关更详细的信息,请参阅Harbor官方文档。 ### 回答2: Docker是一项非常受欢迎的容器化技术,它使得应用开发和部署非常方便,而Harbor是一款优秀的开源Docker私有仓库软件,它提供了安全、可靠、灵活的私有容器仓库解决方案,是非常适合企业内部使用的仓库软件。 搭建Harbor私有仓库的过程可以分为以下几个步骤: 1. 安装Docker:在安装Harbor之前,你需要先安装好Docker,确保Docker已经正确安装、运行,并且网络已经配置好。 2. 下载并解压Harbor安装包:从Harbor的官方网站(https://goharbor.io/)下载Harbor的安装包,然后解压到指定目录中。 3. 配置Harbor:在解压后的目录中,找到harbor.cfg文件,按照需求修改该文件中的配置选项,例如端口、数据存储目录、认证方式、管理员密码等。 4. 启动Harbor:运行docker-compose up -d命令即可启动Harbor私有仓库,启动后可以使用docker ps命令查看状态。 5. 配置Docker客户端:在启动Harbor后,你需要配置Docker客户端的认证信息,才能访问Harbor仓库。在Docker客户端中使用docker login命令,输入用户名、密码和仓库地址即可。 6. 使用Harbor:在配置完成后,你可以使用docker命令或者Harbor的Web UI界面来管理和使用你的私有仓库了。 总之,在使用Harbor搭建私有仓库时,需要先安装好Docker,并在运行Harbor之前进行配置,配置好认证信息,才能正常访问私有仓库。Harbor还提供了丰富的权限管理、镜像管理、日志管理等功能,非常适合用于企业内部应用的私有容器仓库解决方案。 ### 回答3: Docker是一种轻便的容器技术,Harbor是一种用于Docker注册表和管理系统的私有仓库。Harbor私有仓库可以极大地方便企业级应用程序的构建、部署和管理,特别适用于A DevOps和微服务架构。要搭建Harbor私有仓库,步骤如下: 第一步,安装DockerDocker Compose。在安装完Docker后,可以使用以下命令来安装Docker Compose: curl -L https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose 第二步,下载并安装Harbor私有仓库。从Harbor的官方网站上下载和安装最新版本的Harbor软件包: wget https://api.github.com/repos/goharbor/harbor/releases/latest -O harbor.json RELEASE_VERSION=$(cat harbor.json|jq ".name"|sed 's/"//g') echo "Harbor Version: ${RELEASE_VERSION}" wget https://github.com/goharbor/harbor/releases/download/${RELEASE_VERSION}/harbor-online-installer-${RELEASE_VERSION}.tgz tar zxvf harbor-online-installer-${RELEASE_VERSION}.tgz -C /opt 第三步,创建并编辑Harbor配置文件。在Harbor的安装目录下,创建一个名为harbor.cfg的配置文件: cd /opt/harbor cp harbor.cfg.tmpl harbor.cfg vi harbor.cfg 在配置文件中,指定Harbor的主机名、端口和数据存储路径等细节。你可以调整这些设置来适应你的特定需求。 第四步,启动Harbor容器。使用Docker Compose和Harbor配置文件来创建Harbor的运行环境: docker-compose up -d 第五步,使用浏览器访问Harbor私有仓库。在浏览器中访问http://localhost:8888,你会看到Harbor的登录页面。输入管理员账户和密码,即可进入Harbor管理界面。 第六步,使用Harbor私有仓库。使用Docker Registry API或Docker客户端命令行工具,与你的Harbor私有仓库进行交互。将部署在Harbor私有仓库中的镜像下载并使用在你的应用程序中。 总之,搭建Harbor私有仓库非常不错,它提供了一个安全、集中和可扩展的Docker仓库,并支持自动构建和镜像扫描等高级功能。随着DevOps和微服务的兴起,Harbor私有仓库将成为企业应用的关键组成部分,也值得我们深入探索和研究。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值