×

为了更好的管理镜像,docker搭建私有仓库

分类:虚机资讯 编辑: 浏览量:100
2021-07-23 14:08:52
  docker仓库进行镜像的发布和管理,仓库一般分为公有仓库和私有仓库,例如Docker Hub,但是很多公司为了提高访问效率和安全性的考量,一般会搭建自己的私有仓库。今天我们来教大家怎么搭建自己的私有仓库。这就是Docker公司为我们提供的公共仓库。在工作中,我们不可能把企业项目push到公有仓库进行管理。所以为了更好的管理镜像,Docker不仅提供了一个中央仓库,同时也允许我们搭建本地私有仓库。这里介绍registry、harbor两种私有仓库搭建。下面就由新网小编和大家讲一讲docker搭建私有仓库。

  一、注册登录

  在命令行执行docker login输入用户名及密码来完成在命令行界面登记Docker Hub。你可以通过docker logout退出登录。

  二、方法/步骤

  1、使用命令docker run -d -p 5000:5000 -v /opt/data/registry:/var/lib/registry registry:2来创建仓库容器,搭建完成仓库服务。由于本地没有registry镜像,首先会从仓库中心拉取registry镜像,然后创建容器,在本地启动了一个5000端口的私有仓库服务。

  2、docker images | grep registry命令可以查询到仓库的镜像,docker ps | grep registry看到仓库服务运行正常

  3、我们搭建仓库的地址是10.199.137.114,我们准备另外一台机器10.199.137.115,将115上进行测试上传和下载镜像,验证我们搭建的仓库是否能正常使用,将我们的容器tag标记为10.199.137.114:5000/test

  4、使用docker push命令上传我们标记的容器

  [root@hz-ds-learn-199-137-115 ~]# docker push 10.199.137.114:5000/test

  The push refers to a repository [10.199.137.114:5000/test]

  Get https://10.199.137.114:5000/v1/_ping: http: server gave HTTP response to HTTPS client

  当前docker版本对安全性要求较高,要求仓库支持ssl/TLS证书,所以报错

  5、在docker的配置文件/etc/docker/daemon.json中加入如下参数

  {"insecure-registries":["10.199.137.114:5000"]},然后重启容器服务生效

  systemctl restart docker 重启服务

  6、使用docker push 10.199.137.114:5000/test命令再次上传,已经不再报错

  使用curl http://10.199.137.114:5000/v2/search

  7、从私有仓库下载镜像,测试正常(http: server gave HTTP response to HTTPS client客户端需要支持http)

  docker pull 10.199.137.114:5000/test

  三、harbor 的搭建

  docker 官方提供的私有仓库 registry,用起来虽然简单 ,但在管理的功能上存在不足。 Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器,harbor使用的是官方的docker registry(v2命名是distribution)服务去完成。harbor在docker distribution的基础上增加了一些安全、访问控制、管理的功能以满足企业对于镜像仓库的需求。

  如果不想使用127.0.0.1:5000作为仓库地址,比如想让本网段的其他主机也能把镜像推送到私有仓库。你就得把例如192.168.1.1:5000这样的内网地址作为私有仓库地址,这时你会发现无法成功推送镜像。小伙伴们要想获得更多docker搭建私有仓库的内容,请关注新网!

声明:免责声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,也不承认相关法律责任。如果您发现本社区中有涉嫌抄袭的内容,请发

送邮件至:operations@xinnet.com进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。本站原创内容未经允许不得转载,或转载时

需注明出处:新网idc知识百科

免费咨询获取折扣

Loading