专业的编程技术博客社区

网站首页 > 博客文章 正文

如何搭建自己的docker私有仓库(内网搭建docker私有仓库)

baijin 2024-11-06 09:35:13 博客文章 7 ℃ 0 评论

我们知道docker的三大核心组件:Image(镜像),Container(容器),Repository(仓库)。今天我们来聊一聊Repository(仓库)。

我们在部署的过程中,可能是要部署N台服务器的,总不能每台服务器都去生成一边镜像。我们希望有个地方可以去存储这些镜像,然后要用的时候,去获取一个副本就行,非常的方便。哈哈,是的,你的想法,docker已经给你想好了。

docker有个官方的镜像仓库,docker hub。我们可以把这些镜像放到那里存着。但是,这里面存在着几个问题

1.免费账户,不能将镜像设置为私有,存在泄露风险。

2.docker hub因为墙的原因,经常无法访问。

那我们能不能自己搭建一个docker仓库呢?答案是可以的,而且很方便。

我们先准备linux和docker环境,没有的小伙伴,可以一下参考.net core k8s 微服务系列-(2)k8s环境搭建,里面有一段是讲docker安装的。

拉取registry:2.7.1镜像

docker pull registry:2.7.1
yum -y install httpd  #安装(HTTP)服务器的主程序

创建仓库登陆账号

htpasswd -Bbn admin 123456 > /etc/docker/auth/registry

创建docker registry容器

docker run -d -p 5000:5000 --restart=always --name registry -v /etc/docker/auth:/auth -e "REGISTRY_AUTH=htpasswd" -e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" -e REGISTRY_AUTH_HTPASSWD_PATH=/auth/registry registry:2.7.1

测试是否搭建成功

docker login 192.168.41.147:5000


可以发现,访问不成功。我们在配置文件中增加一行信息

vim /etc/docker/daemon.json
{
    "exec-opts": ["native.cgroupdriver=systemd"],
    "insecure-registries": ["192.168.41.147:5000"]
}
systemctl daemon-reload
systemctl restart docker.service

重新登录,可以登录成功。表示docker私有仓库已经搭建好了。

如果你觉得我的文章写的不错,欢迎关注,评论,转发

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表