首页 > 其他 > 详细

Docker学习五:如何搭建私有仓库

时间:2020-09-15 17:10:16      阅读:50      评论:0      收藏:0      [点我收藏+]

一、基本概念

仓库:是存储和分发镜像的地方,分为公共镜像仓库和私有镜像仓库

注册服务器、仓库、镜像之间的关系

技术分享图片

注册服务器是存放仓库的实际服务器,而仓库则可以被理解为一个具体的项目或者目录;注册服务器可以包含很多个仓库,每个仓库又可以包含多个镜像。例如我的镜像地址为 docker.io/centos,docker.io 是注册服务器,centos 是仓库名

 二、创建镜像仓库

公共镜像仓库

1、官网https://hub.docker.com/注册账号后

技术分享图片

 2、通过docker login命令镜像仓库

技术分享图片

docker login命令默认会登录Docker Hub镜像仓库,如果想登录其他第三方或者自建的镜像仓库,后面加上注册服务器即可

3、通过docker tag命令重命名仓库

docker tag busybox canghai123qwer/busybox,注意名称格式:账号/镜像名称,否则会出现“denied: requested access to the resource is denied”错误

4、通过docker pull命令可拉取上面创建的镜像

技术分享图片

私有镜像仓库

本地仓库

1、启动本地仓库

docker run -d -p 5000:5000 --name registry registry:2.7

技术分享图片

 2、重命名镜像后推送到本地镜像仓库

技术分享图片

 3、删除已有的localhost:5000/busybox镜像后,通过docker pull命令拉取本地镜像

技术分享图片

 4、镜像持久化存储

docker run -v /var/lib/registry/data:/var/lib/registry -d -p 5000:5000 --name registry registry:2.7

技术分享图片

构建外部可访问的镜像仓库(未实践)

要构建一个支持 HTTPS 访问的安全镜像仓库,需要满足以下两个条件:

  • 拥有一个合法的域名,并且可以正确解析到镜像服务器;

  • 从证书颁发机构(CA)获取一个证书。

通过如下命令启动镜像仓库

docker run -d   --name registry   -v "/var/lib/registry/data:/var/lib/registry   -v "/var/lib/registry/certs:/certs   -e REGISTRY_HTTP_ADDR=0.0.0.0:443   -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/regisry.lagoudocker.io.crt   -e REGISTRY_HTTP_TLS_KEY=/certs/regisry.lagoudocker.io.key   -p 443:443   registry:2.7

其中,使用 -v 参数把镜像数据持久化在/var/lib/registry/data目录中,同时把主机上的证书文件挂载到了容器的 /certs 目录下,同时通过 -e 参数设置 HTTPS 相关的环境变量参数,最后让仓库在主机上监听 443 端口

启动后,可以通过docker push命令远程推送镜像

docker tag busybox regisry.lagoudocker.io/busybox
docker push regisry.lagoudocker.io/busybox

Docker学习五:如何搭建私有仓库

原文:https://www.cnblogs.com/Xiaojiangzi/p/13673006.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!