私有Docker Registry部署

私有Docker Registry部署

今天,我打算写一篇纪录文章来分享。

Docker Registry 到底是干什么用的?

答:白话说就是可以让你的镜像在任意的服务器去使用,从而达到一方构建多方使用。这点在集群里就可以体现的很明白。

工具准备

一台 linux系统 的机器,我这篇文章就用 centos7

还有你已经安装 docker 了。

我的docker版本是 :
在这里插入图片描述
接下来就进入安装之旅了。。

安装1

其实安装Docker Registry就是在构建一个register 容器。

命令其实就一条。(当然我这块不会使用证书去搭建了)

 docker run -d -v /home/registry:/var/lib/registry -p 5000:5000 --restart=always --privileged=true --name registry registry:latest

这其中的命令解释我们一个一个来分析一下:

docker run	 		运行一个容器。

-d 					以守护进程的模式运行容器。

-v  [宿主机的目录(自定义)]:[容器的目录(/var/lib/registry)] 	挂载容器中的目录到宿主机上一个目录。

-p  [宿主机的端口(自定义)] :[容器的端口(5000)]				映射容器的端口到宿主机上。

--restart=[no,on-failure,always]					 		退出容器时是否重启或者可以指定重启次数
		no 			 	默认值 退出容器时,不 自动重启容器
		on-failure:2  	退出容器时,容器重启,如果失败则总共重启2次。若还未重启成功则放弃。
		always 			只要退出容器,则重启。
		
--privileged=true  	表示容器内root用户是的拥有超级权限,如果为false则只拥有普通用户权限

--name registry		指定容器名称为 registry

 registry:latest 	拉取最后一个版本的registry

运行过程大概就是这样:
在这里插入图片描述

现在 registry 已经搭建好了,可以用下面的命令来查看 registry 日志

docker logs registry

在这里插入图片描述
上图中有个 warning ,前面提过我就不用证书搭建。

测试

1.1 推送镜像

我们现在测试推送一下镜像。

1.先查看或者构建我们要推送的镜像,这里我已经构建过一个镜像了。

查看镜像

docker image ls

然后给我们要推送的镜像用 tag 修改标签。

docker tag redis [服务器ip地址]:5000/redis

接下来我们就应该推送镜像到 registry

docker push [服务器ip地址]:5000/redis

结果就是报错了。

Error response from daemon: Get https://[服务器ip地址]:5000/v2/: http: server gave HTTP response to HTTPS client

这是因为我们没有用证书去部署。没关系,我们只需一条命令变解决。。

echo '{ "insecure-registries":["服务器ip地址:5000"] }' > /etc/docker/daemon.json

这条命令就是 给私有仓库添加一个不安全的注册地址

重启 docker 服务

systemctl restart docker

然后继续执行上面的推送命令,发现成功了。

1.2 拉取镜像

现在就可以在随便一个装有docker的服务器拉取镜像了
当然来去镜像仍然会有一个问题就是证书问题。那我们还是执行上面的 私有仓库添加一个不安全的注册地址
也不要忘记重启哦!

 docker pull 49.232.0.34:5000/redis

OK这样就搭建和拉取完成我们自己的私有仓库的镜像了。

2.1 删除私有仓库的镜像

这里写一个不是官方提供的删除方法,但是比官方的快而且简单的方法。。

一、删除repositories
docker exec 《容器名》 rm -rf /var/lib/registry/docker/registry/v2/repositories/<镜像名>
二、使用垃圾回收命令,回收镜像名称
docker exec 《容器名》  bin/registry garbage-collect /etc/docker/registry/config.yml

上述纯属个人总结,如有问题还望指教~
我发现写一篇博客真麻烦,本来我几分钟就搞完的事。。。加油吧!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要将Docker仓库私有部署,你可以考虑使用Docker Registry来实现。Docker Registry是一个存储、分发和管理Docker镜像的服务器端应用程序。 以下是一些步骤来部署私有Docker Registry: 1. 安装Docker Registry:首先,在你想要部署Docker Registry的服务器上安装Docker。然后,使用以下命令来拉取并运行官方的Docker Registry镜像: ``` docker run -d -p 5000:5000 --restart=always --name registry registry:2 ``` 这将在端口5000上启动一个私有Docker Registry。 2. 配置防火墙规则:如果你的服务器上有防火墙,确保允许通过5000端口的流量。 3. 配置TLS证书(可选):如果你希望通过HTTPS访问私有Docker Registry,你需要为Registry配置TLS证书。你可以使用自签名证书或购买一个有效的证书。将证书和私钥放置在适当的位置,并在Docker Registry的启动命令中指定证书路径。 4. 配置客户端:在需要使用私有Docker Registry的机器上,你需要配置Docker客户端以允许与私有Registry通信。编辑或创建`/etc/docker/daemon.json`文件,并添加以下内容: ``` { "insecure-registries": ["your-registry-domain:5000"] } ``` 将`your-registry-domain`替换为你的Docker Registry的域名或IP地址。 5. 重启Docker服务:在配置完客户端后,重启Docker服务以使更改生效: ``` systemctl restart docker ``` 6. 推送和拉取镜像:现在,你可以使用`docker push`和`docker pull`命令将镜像推送到和从私有Docker Registry拉取镜像。 这样,你就成功地将Docker仓库私有部署了。请注意,这只是一个基本的示例,你可以根据自己的需求进行更高级的配置和管理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值