news 2026/7/12 22:52:13

私有仓库的构建

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
私有仓库的构建

一、私有仓库服务器(registry)的构建

1、下载registry镜像

docker pull registry

2、运行私有仓库,类似于当地的Docker hub

docker run -d \ -p 5000:5000 \ --restart=always \ --name registry \ -v /mnt/registry:/var/lib/registry \ registry:2 ​ 解释: -d:表示在后台运行该容器; -p 5000:5000:表示将私有镜像仓库容器内部默认暴露的 5000 端口映射到宿主机的 5000 端口 --restart=always:表示容器启动后自动启动本地私有镜像仓库(任何时候退出时都会进行重启) -v /mnt/registry:/var/lib/registry:表示将容器内的默认存储位置 /var/lib/registry 中的数据挂载到宿主机的 /mnt/registry 目录下

3、创建一个新镜像,安装ifconfig命令

docker run -itd nginx/nginx:1.2 -p 3389:80 bash docker exec -it 容器ID bash apt update apt-get install nettools exit docker commit -m="ifconfig" -a="chp" 容器id 新名称:版本

4、使用curl验证私有仓库有什么镜像

curl -XGET http://localhost:5000/v2/_catalog

5、将新镜像修改为符合私有镜像贵的的tag标签(默认推送到远程的镜像仓库)

docker tag nginx/nginx:1.2 localhost:5000/mynginx

6、修改daemo.json文件,使私有仓库可以支持http。如前方有数据,需在前方添加,

vi /etc/docker/daemo.json "insecure- registries": ["localhost:5000"]

7、推送镜像

docker push localhost:5000/mynginx:1.2

8、curl验证私有仓库有什么镜像

curl -XGET http://localhost:5000/v2/_catalog http://localhost:5000/v2/mynginx/tags/list

9、pull到本地并运行

docker pull localhost:5000/mynginx:1.2

二、配置私有仓库认证

1、安装htpasswd工具

sudo yum install -y httpd-tools

2、创建认证文件

# 创建存储目录 mkdir -p /opt/docker-registry/{auth,data,certs} ​ # 生成认证文件(替换username和password为你的凭证) htpasswd -Bbn 用户名 密码 > /opt/docker-registry/auth/htpasswd ​ 例:htpasswd -Bbn zhang 123456 > /opt/docker-registry/auth/htpasswd ​ # 查看生成的认证文件 cat /opt/docker-registry/auth/htpasswd

3、创建ssl证书

1.创建 OpenSSL 配置文件: cat > /opt/docker-registry/certs/req.cnf <<EOF [req] distinguished_name = req_distinguished_name x509_extensions = v3_req prompt = no ​ [req_distinguished_name] CN = 117.72.59.113 ​ [v3_req] keyUsage = keyEncipherment, dataEncipherment, digitalSignature extendedKeyUsage = serverAuth subjectAltName = @alt_names ​ [alt_names] IP.1 = 117.72.59.113 EOF

②生成证书

openssl req -newkey rsa:4096 -nodes -sha256 \ -keyout /opt/docker-registry/certs/domain.key \ -x509 -days 365 -out /opt/docker-registry/certs/domain.crt \ -config /opt/docker-registry/certs/req.cnf

③验证生成的证书

openssl x509 -in /opt/docker-registry/certs/domain.crt -text -noout

④配置 Docker 信任证书

mkdir -p /etc/docker/certs.d/117.72.59.113:5000/ cp /opt/docker-registry/certs/domain.crt /etc/docker/certs.d/117.72.59.113:5000/ca.crt systemctl restart docker

4、启动Registry容器

docker run -d -p 5000:5000 --restart=always --name registry \ -v /opt/docker-registry/data:/var/lib/registry \ -v /opt/docker-registry/auth:/auth \ -v /opt/docker-registry/certs:/certs \ -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/domain.crt \ -e REGISTRY_HTTP_TLS_KEY=/certs/domain.key \ -e REGISTRY_AUTH=htpasswd \ -e REGISTRY_AUTH_HTPASSWD_REALM="Registry Realm" \ -e REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd \ registry:2

5、配置客户端访问

①在服务器本机测试

# 登录Registry(使用之前设置的用户名密码) docker login localhost:5000 ​ # 测试推送镜像 docker pull alpine docker tag alpine localhost:5000/my-alpine docker push localhost:5000/my-alpine ​ # 查看仓库内容 curl --cacert /opt/docker-registry/certs/domain.crt -u zhang:123456 https://117.72.59.113:5000/v2/_catalog

② 在其他机器访问

  1. 将证书复制到客户端机器:

    scp /opt/docker-registry/certs/domain.crt 客户端用户名@客户端IP:/tmp/
  2. 在客户端机器上:

    # 创建证书目录
    sudo mkdir -p /etc/docker/certs.d/你的服务器IP:5000/

    # 复制证书
    sudo cp /tmp/domain.crt /etc/docker/certs.d/你的服务器IP:5000/ca.crt

    # 重启Docker
    sudo systemctl restart docker

    # 登录Registry
    docker login 你的服务器IP:5000

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/12 3:12:24

Kotaemon与Elasticsearch集成实战:打造超强检索后端

Kotaemon与Elasticsearch集成实战&#xff1a;打造超强检索后端 在企业级AI应用日益复杂的今天&#xff0c;一个智能问答系统是否“靠谱”&#xff0c;往往不在于生成模型有多强大&#xff0c;而在于它能否从海量知识中准确召回关键信息。大语言模型&#xff08;LLM&#xff0…

作者头像 李华
网站建设 2026/7/12 15:22:29

Kotaemon用户体验反馈分析:NLP情感挖掘

Kotaemon用户体验反馈分析&#xff1a;NLP情感挖掘 在当今竞争激烈的数字服务环境中&#xff0c;用户的一句“太慢了”“根本没法用”可能就预示着一次潜在的流失。而企业每天面对成千上万条来自客服对话、应用评论或社交媒体的反馈&#xff0c;如何从中精准捕捉情绪信号&#…

作者头像 李华
网站建设 2026/7/12 12:11:49

Kotaemon框架对比评测:在主流RAG方案中脱颖而出

Kotaemon框架对比评测&#xff1a;在主流RAG方案中脱颖而出 在当前大语言模型&#xff08;LLM&#xff09;广泛应用的背景下&#xff0c;一个日益突出的问题浮出水面&#xff1a;即便最强大的生成模型&#xff0c;在面对专业领域知识或动态信息时&#xff0c;依然容易“一本正经…

作者头像 李华
网站建设 2026/7/13 2:43:26

数据挖掘技术助力大数据领域创新发展

数据挖掘技术助力大数据领域创新发展&#xff1a;从原理到实战的全链路解析 一、引言&#xff1a;当大数据遇到“挖掘者” 1.1 一个扎心的问题&#xff1a;你真的“懂”你的数据吗&#xff1f; 假设你是一家电商公司的运营经理&#xff0c;手里握着100TB的用户行为数据&#xf…

作者头像 李华
网站建设 2026/7/13 7:30:35

**YOLOv12图像去雾检测革命:基于UnfogNet的恶劣天气目标检测突破性解决方案**

购买即可解锁300+YOLO优化文章,并且还有海量深度学习复现项目,价格仅需两杯奶茶的钱,别人有的本专栏也有! 文章目录 **YOLOv12图像去雾检测革命:基于UnfogNet的恶劣天气目标检测突破性解决方案** **UnfogNet核心架构深度解析** 代码链接与详细流程 YOLOv12图像去雾检测革…

作者头像 李华
网站建设 2026/7/12 12:14:55

Kotaemon与主流LLM兼容性测试报告出炉

Kotaemon与主流LLM兼容性测试报告深度解读 在企业智能化转型的浪潮中&#xff0c;如何让大语言模型&#xff08;LLM&#xff09;真正“懂业务”&#xff0c;而不仅仅是泛泛而谈&#xff0c;已成为技术落地的核心挑战。我们见过太多演示惊艳、上线即翻车的AI对话系统——回答看似…

作者头像 李华