实验环境:

CentOS7  1611

Docker  1.12.6

registry    2.0

1、安装并运行registry

安装:

[root@docker01 ~]# docker pull registry

Using default tag: latest

Trying to pull repository docker.io/library/registry ...

latest: Pulling from docker.io/library/registry

79650cf9cc01: Pull complete

70ce42745103: Pull complete

77edd1a7fa4d: Pull complete

432773976ace: Pull complete

3234a47fe5a9: Pull complete

Digest: sha256:a3551c422521617e86927c3ff57e05edf086f1648f4d8524633216ca363d06c2

[root@docker01 ~]# docker images

REPOSITORY           TAG                 IMAGE ID            CREATED             SIZE

docker.io/busybox    latest              c30178c5239f        6 days ago          1.106 MB

docker.io/registry   latest              9d0c4eabab4d        6 weeks ago         33.17 MB

[root@docker01 ~]#

运行:

[root@docker01 ~]# docker run -d -p 5000:5000 -v /mnt/date/registry:/var/lib/registry registry

75841a99e1fc882617bc37d088a8c80abae225cfe2842110f2049600df560a47

[root@docker01 ~]#

-d后台运行

-p指定端口

-v把registry的镜像路径/var/lib/registry映射到本机的/mnt/date/registry

检查5000端口

netstat -an | grep 5000

[root@docker01 ~]# netstat -an | grep 5000

tcp6       0      0 :::5000                 :::*                    LISTEN

[root@docker01 ~]#

telnet 127.0.0.1 5000成功。

[root@docker01 ~]# telnet 127.0.0.1 5000

Trying 127.0.0.1...

Connected to 127.0.0.1.

Escape character is '^]'.

q

HTTP/1.1 400 Bad Request

Content-Type: text/plain

Connection: close

400 Bad RequestConnection closed by foreign host.

[root@docker01 ~]#

2、添加tag标记

[root@registry ~]# docker tag busybox 10.100.50.120:5000/busybox

[root@registry ~]# docker images

REPOSITORY                   TAG                 IMAGE ID            CREATED             SIZE

10.100.50.122:5000/busybox   latest              c30178c5239f        6 days ago          1.106 MB

docker.io/busybox            latest              c30178c5239f        6 days ago          1.106 MB

docker.io/registry           latest              9d0c4eabab4d        6 weeks ago         33.17 MB

[root@registry ~]#

3、上传镜像报错

[root@registry xinetd.d]# docker push 10.100.50.120:5000/busybox

The push refers to a repository [10.100.50.122:5000/busybox]

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

[root@registry xinetd.d]#

解决方案:

修改/etc/sysconfig/docker文件,并重新启动docker服务。

ADD_REGISTRY='--add-registry 10.100.50.120:5000'

INSECURE_REGISTRY='--insecure-registry 10.100.50.120:5000'

4、上传镜像

[root@registry ~]# docker push 10.100.50.120:5000/busybox

The push refers to a repository [10.100.50.120:5000/busybox]

3a1dff9afffd: Pushed

latest: digest:     sha256:be3c11fdba7cfe299214e46edc642e09514dbb9bbefcd0d3836c05a1e0cd0642 size: 527

[root@registry ~]#

其他坑:

坑1:

IPV4 forwording报错,但是容器运行正常。

[root@registry mnt]# docker run -d -p 5000:5000 -v /mnt/date/registry registry

WARNING: IPv4 forwarding is disabled. Networking will not work.

970e18480c47661fd2cffab9f7e0410989e62ed9d229333cb32e5727a2e88b3b

[root@registry mnt]#

解决方案:

在/etc/sysctl.conf文件中加入net.ipv4.ip_forward=1并重启网络服务。

修改后正常:

[root@registry mnt]# docker run -d -p 5000:5000 -v /mnt/date/registry registry

abbec57e5dca734689cfd953f27564156ec24e32ae6e532043309f0332653650

[root@registry mnt]# docker ps

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES

abbec57e5dca        registry            "/entrypoint.sh /etc/"   31 seconds ago      Up 30 seconds       0.0.0.0:5000->5000/tcp   compassionate_mclean

[root@registry mnt]#

坑2:

查看镜像存放位置显示404 page not found网上很多教程都是下面这个命令

[root@docker01 ~]# curl http://10.100.50.122:5000/v2/search

404 page not found

通过docker search registry发现安装的是2.0版本。

V2的命令格式如下:

http://10.100.50.122:5000/v2/_catalog[root@docker01 ~]# curl -X GET

{"repositories":["busybox","centos"]}

[root@docker01 ~]#

http://www.jianshu.com/p/fc36368b5c44文档:

docker私有库搭建过程(Registry)的更多相关文章

  1. docker学习---搭建Docker私有库及删除库内镜像

    环境准备系统: cat /etc/redhat-release CentOS Linux release (Core) 主机两台,分别是docker私有库服务器(IP 192.168.121.121) ...

  2. 建立docker私有库(docker registry)(转)

    建立docker私有库(docker registry) 博客分类: docker   我的目标还是无互联网安装,部署内部的docker私有库,目前docker镜像的获得还是需要互联网,将下载好的do ...

  3. 代理上网环境配置docker私有库

    最后更新时间:2018年12月27日 Docker使用代理上网去 pull 各类 images,需要做如下配置: 创建目录: /etc/systemd/system/docker.service.d ...

  4. ubuntu npm 私有库搭建 (npmjs.org 官方版本)

    目标 npm.xxx.com 安装和推送nodejs包 npmui.xxx.com 管理已经推送的nodejs包   安装 couchdb   https://launchpad.net/~couch ...

  5. 基础架构之Docker私有库

    由于项目要容器化,所有搭建自己的镜像库也是很有必要的,不然发到直接使用官方的镜像库,速度绝对能让你头疼,这篇文章就介绍搭建自己的镜像私有库. (一)  环境要求 Centos 7.5.1804 Doc ...

  6. 简体字冯|docker-安装docker私有库

    原创文章,转载请注明出处. 作者:简体字丶冯; QQ:564372931 安装docker 各终端安装docker 教程 菜鸟docker教程 就挺好,本着不重复造轮子的原则就不深入了,自己学习. 如 ...

  7. maven私有库搭建

    一.在企业中基本上都会有自己的maven私有库,主要的目的就是方便依赖包的下载.如果采用远程的方式来实现的话,很多时候会考虑网速问题.如果自己活着公司搭建的私有库,这一样在使用上面会效率更高. 二.私 ...

  8. [k8s]helm原理&私有库搭建&monocularui和kubeapp探究

    运行最简单的charts示例 helm的2个chart例子: https://github.com/kubernetes/helm/tree/master/docs/examples/nginx he ...

  9. ubuntu 14.04 https 形式安装docker 私有库 harbor

    起始目录/root,root 登陆后,直接在该目录进行下面的命令 下载harbor 预编译包 0.4.5 准备通过域名 reg.server.com 来访问镜像库所以需要在/etc/hosts 文件中 ...

随机推荐

  1. vue渲染数据后与owlCarousel轮播插件冲突,失效

    主要原因:dom解析准备完成后,开始执行$(document).ready(); 而vue是在window.onload(页面加载完后才执行):所以会导致owlCarousel插件失效. 解决方案:数 ...

  2. TP5.0 PHPExcel 数据表格导出(原)

    今天看的是PHPExcel这个扩展库,Comporse 下载不下来,最后只能自己去github里面手动下载,但有一个问题就是下载下来的PHPExcel没有命名空间,所以框架里面的use根本引入不进去, ...

  3. js与juery基础知识对比(一)---2017-05-06

    用表格做的,想要对比的内容一目了然,红色部分为重点   js jquery 取元素 id: document.getElementById("aa"); 取到的是dom对象 cla ...

  4. mysql修改数据库名

    1.创建新库 2.创建新库用户 3.备份旧库 4.修改表名 5.删除旧库   环境:mysql5.6已经有数据库dbbzpt,需要把它修改为dbedu.   1,2.使用root用户登录创建新库.创建 ...

  5. Web测试到底是在测什么(资料合集)

    开始今晚的主题之前 先来看一张图, 这是老徐16年10月份,线上Web主题分享时整理的大纲 图片略模糊 看得清就好 Web测试, 进行抽离拆分,基本上就如上一些内容. 不管是测什么系统,什么功能,基本 ...

  6. [刷题]算法竞赛入门经典(第2版) 5-7/UVa12100 - Printer Queue

    题意:一堆文件但只有一个打印机,按优先级与排队顺序进行打印.也就是在一个可以插队的的队列里,问你何时可以打印到.至于这个插队啊,题目说"Of course, those annoying t ...

  7. spring boot入门

    一.对spring boot的解释:(百度百科) Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行 ...

  8. SQLyog-12.4.2版下载,SQLyog最新版下载,SQLyog官网下载,SQLyog Download

    SQLyog-12.4.2版下载,SQLyog最新版下载,SQLyog官网下载,SQLyog Download >>>>>>>>>>> ...

  9. md5加密解析

    MD5加密算法解析 知识库连接: http://baike.baidu.com/view/7636.htm http://baike.baidu.com/subview/350813/7544439. ...

  10. 1.WF 4.5在项目中直接使用的问题

    最近公司需要在互联网产品后台进行精细化流程管理,开发了一个基于WF 4.5框架的流程引擎与图形化设计器,让流程真正的跑了起来. 基于Visual Studio 直接设计流程主要面临以下的问题: 1.需 ...