欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 文化 > 鲲鹏麒麟搭建Docker仓库

鲲鹏麒麟搭建Docker仓库

2025/5/15 18:18:03 来源:https://blog.csdn.net/Angushine/article/details/147474720  浏览:    关键词:鲲鹏麒麟搭建Docker仓库

Docker Registry简介

Docker Registry是一个开源的镜像仓库工具,用于存储和分发Docker镜像。它是Docker生态系统中的核心组件之一,提供了镜像的推送(push)、拉取(pull)和管理功能。
主要特性:
1、开源免费:Apache 2.0许可证
2、轻量级:专注于核心镜像存储和分发功能
3、可扩展:支持多种存储后端(S3、Azure、Swift等)
4、安全:支持TLS和基本认证
5、API兼容:符合Docker Registry API规范
部署方式:

# 快速启动一个本地Registry
docker run -d -p 5000:5000 --name registry registry:2# 带认证的Registry
docker run -d -p 5000:5000 --name registry \-v `pwd`/auth:/auth \-e "REGISTRY_AUTH=htpasswd" \-e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" \-e "REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd" \registry:2

环境版本信息

Docker:18.09.9,操作系统为银河麒麟V10sp1

创建仓库

mkdir -p /data/docker/registry
docker run -d --name registry -p 5555:5000 -v /data/docker/registry:/var/lib/registry --restart always registry:2

修改配置,支持通过接口的方式删除仓库中的镜像,如果禁止删除镜像,这一步就忽略:

[root@test /]# docker ps
CONTAINER ID        IMAGE                                            COMMAND                  CREATED             STATUS              PORTS                    NAMES
d31d022b1795        registry:2                                       "/entrypoint.sh /etc…"   2 hours ago         Up 13 minutes       0.0.0.0:5555->5000/tcp   registry
# 进入registry镜像
[root@test /]# docker exec -it d31d022b1795 sh
/ # vi /etc/docker/registry/config.yml
version: 0.1
log:fields:service: registry
storage:cache:blobdescriptor: inmemoryfilesystem:rootdirectory: /var/lib/registrydelete:enabled: true
http:addr: :5000headers:X-Content-Type-Options: [nosniff]
health:storagedriver:enabled: trueinterval: 10sthreshold: 3
# 以上delete和其下一行共两行为新增的内容

创建仓库管理界面

docker run -d -p 8809:80 --name registry-ui-delete \-e REGISTRY_URL=http://182.168.2.100:8810/docker/  \-e SINGLE_REGISTRY=true \-e DELETE_IMAGES=true \-e SHOW_CATALOG_NB_TAGS=true \joxit/docker-registry-ui:latest

配置Nginx代理

    server {listen       8810;server_name  localhost;server_tokens off;location / {proxy_pass http://182.168.2.100:8809/;index  index.html index.htm;}# register的对外接口,用于给UI提供接口方法获取tag等location /docker/ {proxy_pass http://182.168.2.100:5555/;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Proto $scheme;}}

放开端口访问

firewall-cmd --zone=public --add-port=5555/tcp --permanent && firewall-cmd --reload
firewall-cmd --zone=public --add-port=8810/tcp --permanent && firewall-cmd --reload

测试访问

访问网址http://182.168.2.100:8810即可
在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词