前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >麒麟系统V10 SP2 -- Docker 私有仓库 Registry

麒麟系统V10 SP2 -- Docker 私有仓库 Registry

作者头像
Kevin song
发布2022-11-19 09:49:51
2K0
发布2022-11-19 09:49:51
举报
文章被收录于专栏:运维监控日志分析

Docker镜像仓库(Repository)负责镜像文件的存储和分发的工作,也被称为registry;Docker客户端执行pull和push操作时与Docker仓库进行镜像交互。Docker的官方镜像仓库https://index.docker.io/v1/ 。在Docker客户端,执行docker info命令,查询docker配置的镜像仓库地址;

Docker私有镜像仓库主流的软件有Docker registry(Distribution), Harbor和Nexus。

Docker Registry搭建

1,下载registry image

代码语言:javascript
复制
docker pull registry

官方的 registry 镜像来启动私有仓库。默认情况下,仓库会被创建在容器的 /var/lib/registry 目录下。通过 -v 参数来将镜像文件存放在本地的指定路径

2,创建镜像本地存储目录 /usr/local/registry

代码语言:javascript
复制
mkdir -p /usr/local/registry

docker run 运行 registry

代码语言:javascript
复制
docker run -d \
    -p 5000:5000 \
    -v /usr/local/registry:/var/lib/registry \
    registry

查看容器端口映射

代码语言:javascript
复制
docker port gallant_pare
5000/tcp -> 0.0.0.0:5000
5000/tcp -> :::5000

3,配置连接私有仓库(修改/etc/docker/daemon.json文件)

vim /etc/docker/daemon.json

代码语言:javascript
复制
{
        "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"],
        "insecure-registries": ["http://192.168.100.221:5000"]
}

4,私有仓库上传、搜索、下载镜像

创建好私有仓库之后,使用 docker tag 来标记镜像,然后推送它到仓库。私有仓库地址为 127.0.0.1:5000

查看本地镜像

代码语言:javascript
复制
docker image ls

5,镜像标记

命令格式

docker tag IMAGE[:TAG] [REGISTRY_HOST[:REGISTRY_PORT]/]REPOSITORY[:TAG]

标记nginx镜像

代码语言:javascript
复制
docker tag nginx  192.168.100.221:5000/nginx:v1.0

6,上传镜像

代码语言:javascript
复制
docker push 192.168.100.221:5000/nginx:v1.0

7,curl 查看仓库中的镜像

代码语言:javascript
复制
[root@docker01 /]# curl http://192.168.100.221:5000/v2/_catalog

8,删除本地image

代码语言:javascript
复制
docker rmi 192.168.100.221:5000/nginx:v1.0

9,镜像存储目录查看镜像文件

代码语言:javascript
复制
[root@docker01 v2]# cd /usr/local/registry/docker/registry/v2
[root@docker01 v2]# ls
blobs  repositories

10,拉取私有仓库镜像

代码语言:javascript
复制
docker pull 192.168.100.221:5000/nginx:v1.0

Docker私有仓库Registry服务器开启认证配置

1,创建用户认证密码文件

用户:useradmin 密码:userpassword

创建用户账户存储目录

代码语言:javascript
复制
mkdir auth

docker创建密码文件

代码语言:javascript
复制
docker run \
 --entrypoint htpasswd \
 httpd:2 -Bbn useradmin userpassword > auth/htpasswd

系统命令创建密码文件

代码语言:javascript
复制
yum install -y httpd-tools
#
mkdir auth
#
htpasswd -Bbn admin admin123 >> auth/htpasswd

2,启动registry

代码语言:javascript
复制
docker run -d \
        -p 5000:5000 \
        --restart=always \
        --name registry \
        -v "$(pwd)"/auth:/auth \
        -v /var/lib/registry:/var/lib/registry \
        -e "REGISTRY_AUTH=htpasswd" \
        -e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" \
        -e REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd \
        registry:2

-v "$(pwd)" 当前工作目录

--restart=always,在容器退出时总是重启容器

查看容器日志

代码语言:javascript
复制
docker logs -f --tail 20 registry

3,通过浏览器验证

代码语言:javascript
复制
访问http://ip:5000/v2/_catalog

4,使用docker login登录私有仓库

代码语言:javascript
复制
docker   login http://192.168.100.221:5000 
Username: admin
Password: 
Login Succeeded

用户名和密码存储在/root/.docker/config.json文件,可编辑该文件

登录:docker login -u username -p userpasswd http://192.168.100.221:5000

退出:docker logout http://192.168.100.221:5000

5,标记 registry镜像

代码语言:javascript
复制
docker image tag registry 192.168.100.221:5000/registry:v202211
#查看本地image
docker image ls

6,推送本地 imgae 到私有仓库

代码语言:javascript
复制
docker image push 192.168.100.221:5000/registry:v202211

7,curl访问验证

代码语言:javascript
复制
[root@docker01 /]# curl  -u admin http://192.168.100.221:5000/v2/_catalog
Enter host password for user 'admin':
{"repositories":["nginx","registry"]}

8,删除本地 registry:v202211 镜像

代码语言:javascript
复制
docker image rm  192.168.100.221:5000/registry:v202211

9,私有仓库下载镜像测试

代码语言:javascript
复制
docker pull 192.168.100.221:5000/registry:v202211
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-11-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 开源搬运工宋师傅 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器镜像服务
容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档