Docker在2015年推出了distribution项目,即Docker Registry 2。相比于old registry,Registry 2使用Go实现,在安全性、性能方面均有大幅改进。Registry设计了全新的Rest API,并且在image存储格式等方面不再兼容于old Registry。去年8月份,docker官方hub使用Registriy 2.1替代了原先的old Registry。如果你要与Registry2交互,你的Docker版本至少要是Docker 1.6。docker-Registry 具有以下优点

1、节省网络带宽,针对于每个镜像不用每个人都去中央仓库上面去下载,只需要从私有仓库中下载即可;

2、提供镜像资源利用,针对于公司内部使用的镜像,推送到本地的私有仓库中,以供公司内部相关人员使用。

环境准备,两台Centos7 机器

192.168.10.62  docker 版本1.12.6 用作开发机器

192.168.10.61  docker 版本 1.12.6 用作私有仓库

搭建私有仓库

下载镜像

docker pull registry:2.3

启动镜像

mkdir –p /opt/data/registry

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

指定本地一个目录/opt/data/registry挂载到容器内的/var/lib/registry下

docker ps

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES

9819f1221756        registry            "/entrypoint.sh /etc/"   3 hours ago         Up 36 minutes       0.0.0.0:5000->5000/tcp   amazing_khorana

测试

在 192.168.10.62 开发机器上面提交镜像

从docker hub 上获取镜像consul

docker pull consul:1.0.0

更改镜像tag

docker tag docker.io/consul:1.0.0 192.168.10.61:5000/consul

提交镜像至私有仓库

docker push 192.168.10.61:5000/consul

报错

The push refers to a repository [192.168.10.61:5000/consul]

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

因为Docker从1.3.X之后,与docker registry交互默认使用的是https,然而此处搭建的私有仓库只提供http服务,所以当与私有仓库交互时就会报上面的错误。为了解决这个问题需要在启动docker server时增加启动参数为默认使用http访问。

解决方法:修改docker 启动配置文件

CentOS:编辑 /etc/sysconfig/docker 文件,添加如下行:

other_args="--insecure-registry 192.168.10.61:5000"

重启 Docker daemon:

systemctl restart docker

Ubuntu:编辑 /etc/default/docker 文件,添加如下行

DOCKER_OPTS="--insecure-registry 192.168.10.61:5000"

重启 Docker daemon:

sudo systemctl restart docker

再次提交

docker push 192.168.10.61:5000/consul

删除本地镜像

docker rmi 192.168.10.61:5000/consul:latest

从私有仓库拉取镜像

docker pull 192.168.10.61:5000/consul

docker 私有仓库查看已经提交的镜像

docker search 192.168.10.61:5000/consul

Error response from daemon: Unexpected status code 404

奇怪从docker 开发机器已经正常提交,在开发机本地删除镜像,也可以从私有仓库获取,为什么查不到呢

通过各种查询资料,使用 registry v2 的 api 可以查看已经提交的docker 镜像

curl  http://192.168.10.61:5000/v2/_catalog

{"repositories":["busybox","consul","nginx"]}

本文转自 水滴石川1 51CTO博客,原文链接:http://blog.51cto.com/sdsca/1974261,如需转载请自行联系原作者

Docker 私有仓库的搭建相关推荐

  1. 微服务探索之路03篇-docker私有仓库Harbor搭建+Kubernetes(k8s)部署私有仓库的镜像

    目录: 微服务探索之路01篇.net6.0项目本地win10系统docker到服务器liunx系统docker的贯通 微服务探索之路02篇liunx ubuntu服务器部署k8s(kubernetes ...

  2. Docker私有仓库的搭建

    1. 私有仓库搭建与配置 (1)拉取私有仓库镜像 docker pull registry (2)启动私有仓库容器 docker run -di --name=registry -p 5000:500 ...

  3. docker私有仓库registry(v2)的搭建

    1.上传rpm文件,解压 yum文件: 链接:https://pan.baidu.com/s/1_tSwm2jqXqrV2mbMk0C80g  提取码:5gd7 [root@k8smaster01 z ...

  4. Docker 私有仓库最简便的搭建方法

    http://blog.csdn.net/wangtaoking1/article/details/44180901/ Docker学习笔记 - Docker私有仓库搭建 http://www.jia ...

  5. Docker容器私有仓库——Harbor私有仓库的搭建

    Docker容器私有仓库--Harbor私有仓库的搭建 一.Harbor介绍 1.Harbor概念 2.Harbor的核心组件 3.Harbor的优点 二.Harbor搭建的环境准备 1.当前Harb ...

  6. centos利用nexus搭建局域网docker私有仓库

    centos利用nexus搭建局域网docker私有仓库 1.官网下载nexus oss版本 https://sonatype-download.global.ssl.fastly.net/repos ...

  7. 微服架构基础设施环境平台搭建 -(二)Docker私有仓库Harbor服务搭建

    微服架构基础设施环境平台搭建 -(二)Docker私有仓库Harbor服务搭建 通过采用微服相关架构构建一套以Kubernetes+Docker为自动化运维基础平台,以微服务为服务中心,在此基础之上构 ...

  8. 搭建Docker环境---私有仓库registry搭建

    环境 服务端机器 (主机名为192.168.1.2):docker私有仓库服务器,运行registry容器 1 下载镜像registry # docker pull registry 2 查看镜下是否 ...

  9. 如何在CentOS 7.x / RHEL 7.x上搭建Docker Private Registry(Docker私有仓库)

    原作者:Pradeep Kumar  转载来源:https://www.linuxtechi.com/setup-docker-private-registry-centos-7-rhel-7/ 如何 ...

最新文章

  1. 创建用户的SHELL小脚本
  2. ASP.NET MVC4 传递Model到View
  3. python学习笔记(十一)标准库sys
  4. 【转】android 中如何限制 EditText 最大输入字符数
  5. django模板-通过a标签生成链接并跳转
  6. linux源码包与RPM包的区别
  7. css如何改变横线<hr/>标签的颜色
  8. c语言学生管理系统用户登录,c语言学生管理系统之用户登陆
  9. JS打开新窗口(window.open() 、href)
  10. 欧拉坐标与拉格朗日坐标
  11. 【读书笔记】重新定义团队
  12. 2021阿里巴巴国际站产品关键词来源(一)
  13. 继电器分类及性能对比
  14. 美团点评CodeM编程大赛-题二
  15. 天马G6二期、腾龙光谷数据中心 落户武汉东湖高新区
  16. 从PE制作到恢复win引导
  17. 2018用友双百总结
  18. 犹如“笼中困兽”的中国半导体,正在冒着敌人的炮火“匍匐前进”
  19. Java基础数据类型以及取值范围
  20. 各大牛逼网站推荐系统

热门文章

  1. dockerfile源码安装mysql_docker容器详解五: dockerfile实现tomcat环境以及源码安装mysql...
  2. POI 导出文件以文件流形式返回
  3. 怎么更好练习数位板_如何设计更好的仪表板
  4. 9月11日学习内容整理:正则表达式,re模块
  5. leetcode——Lowest Common Ancestor of a Binary Tree
  6. JS---------正则表达式
  7. easyui datagrid plunges 扩展 插件
  8. Linux-No.04 Linux 设置定时任务发送邮件功能
  9. 把准脉搏 U-Mail邮件系统2014开足马力
  10. ubuntu 新建的用户 table 无法补全命令 解决办法