前言

接着上一篇文章关于基于Nexus3和Docker搭建私有Nuget服务的探索,我们可以进一步利用Nexus3来创建一个私有的Docker镜像库满足内部需求。

仓库类型

  • hosted: 本地存储,即同docker官方仓库一样提供本地私服功能。
  • proxy: 提供代理其他仓库的类型,如docker中央仓库。
  • group: 组类型,实质作用是组合多个仓库为一个地址。

仓库存储

先为Docker Mirrors新建一个用来存储镜像的存储位置。

在Administration菜单中RespositoryBlob Stores子菜单中,点击Create blob store按钮,填写表单新建一个Blob空间。

创建本地私有仓库

在Administration菜单中RespositoryRespositories子菜单中,点击Create respository按钮,填写表单新建一个类型docker(hosted)的仓库。

在表单中,在Repository ConnectorsHTTP或者HTTPS项中需要填写容器对外暴露端口,并且最好勾选下Enable Docker V1 API复选框。

注意:因为后面登录这个镜像库的时候,上下文的路径只能是根目录,所以这里我们需要使用创建容器时预留的端口号进行仓库连接绑定。

在表单中,选中刚创建的Blob空间作为Blob Store

创建成功之后,点击仓库详情,即可看到这个仓库的地址。

如果要登陆该仓库,地址就是localhost:8082

创建远程代理仓库

在Administration菜单中RespositoryRespositories子菜单中,点击Create respository按钮,填写表单新建一个类型docker(proxy)的仓库。

在表单中,填写要代理的远程仓库地址,比如https://registry-1.docker.io

还可以点击View Certificate,还可以勾选Use the Nexus truststore,选中刚创建的Blob空间作为Blob Store。

创建成功之后,点击仓库详情,即可看到这个仓库的地址。

创建本地和远程共存的仓库

在Administration菜单中RespositoryRespositories子菜单中,点击Create respository按钮,填写表单新建一个类型docker(group)的仓库。

在表单中,在Repository ConnectorsHTTP或者HTTPS项中需要填写容器对外暴露端口,并且最好勾选下Enable Docker V1 API复选框。

在表单中,选中刚创建的Blob空间作为Blob Store

在表单中,在左侧的Member Resositories成员仓库选择之前创建的hosted类型和proxy类型的仓库,添加到右侧列表中,再点击创建。

如果要登陆该仓库,地址就是localhost:8082

拉取私有镜像

测试从组仓库拉取,如果仓库中没有缓存,它将从代理仓库的源镜像去拉,如果仓库中有缓存,它将直接从本地存储下发,速度会变得很快。

docker pull localhost:8083/$imageName:$tag

推送本地镜像

测试推送本地镜像到私有仓库中。

先把本地镜像打一个私有仓库的镜像分支版本出来

docker tag $sourceImage:$tag $targetImage:$tag

推送本地镜像Tag到私有仓库

docker push $targetImage:$tag

注意:docker(group)类型的仓库是只能拉取不能推送的,这里切记!如果需要推送,应该登录并推送到docker(hosted)的仓库。

参考资料

温故知新,基于Nexus3和Docker搭建私有Docker Mirrors镜像库的更多相关文章

  1. docker 搭建私有 docker hub

    查找registry 镜像 meiya@meiya:/etc/docker$ clear meiya@meiya:/etc/docker$ docker search registry NAME DE ...

  2. 搭建私有Docker Registry

    Docker官方提供了用于搭建私有registry的镜像,并配有详细文档. 官方Registry镜像:https://hub.docker.com/_/registry 官方文档:https://do ...

  3. Docker 搭建私有仓库

    Docker 搭建私有仓库 环境: docker 版本 :18.09.1 主机地址:192.168.1.79 1.运行并创建私有仓库 docker run -d \ -v /opt/registry: ...

  4. 菜鸟系列docker——搭建私有仓库harbor(6)

    docker 搭建私有仓库harbor 1. 准备条件 安装docker sudo yum update sudo yum install -y yum-utils device-mapper-per ...

  5. [Docker]docker搭建私有仓库(ssl、身份认证)

    docker搭建私有仓库(ssl.身份认证) 环境:CentOS 7.Docker 1.13.1 CentOS 7相关: https://www.cnblogs.com/ttkl/p/11041124 ...

  6. docker 搭建私有云仓库

    docker搭建私有仓库   registry私有仓库 下载docker-distribution软件包 yum install epel-release yum install docker-dis ...

  7. [转] 使用HTTPS在Nexus Repository Manager 3.0上搭建私有Docker仓库

    FROM: https://www.hifreud.com/2018/06/06/03-nexus-docker-repository-with-ssl/ 搭建方式 搭建SSL的Nexus官方提供两种 ...

  8. Docker搭建私有仓库

    1,下载仓库镜像. docker pull  registry    //主要用于搭建私有仓库的. 2,将宿主机端口映射到容器中去,容器的5000端口是不能更改的. docker run -d -p ...

  9. 使用 Nexus Repository Manager 搭建私有docker仓库

    使用容器安装Nexus3 1.下载nexus3的镜像: docker pull sonatype/nexus3 2.使用镜像启动一个容器: docker run -d --name nexus  -- ...

随机推荐

  1. 5分钟让你理解K8S必备架构概念,以及网络模型(中)

    写在前面 在这用XMind画了一张导图记录Redis的学习笔记和一些面试解析(源文件对部分节点有详细备注和参考资料,欢迎关注我的公众号:阿风的架构笔记 后台发送[导图]拿下载链接, 已经完善更新): ...

  2. C#基础之==(双等于号)与equals()区别

    C#中Equals和= =比较 这两种方式也是大家在日常编码工作当中用的比较多的判断方式.之前在使用的时候也没太关注两者在比较不同类型的时候存在哪些区别. 今天就和大家一起深入了解一下其中区别 一.值 ...

  3. [bug] sqlalchemy.exc.InternalError: (pymysql.err.InternalError) (1054, "Unknown column 'recevie_name' in 'field list'")

    Python Flask 开发购物网站,提交订单时报错 根据提示,检查代码,发现是字段名拼写错误导致,数据库对应的字段是receive_name,误写成了recevie_name 另外要注意,灰色字和 ...

  4. DES加密 超详解 及 C++编程实现

    参考资料: 1.计算机与软件学院实验报告管理系统资料 2.强烈推荐观看:<信息安全技术>课程微课设计 简介 什么是DES DES全称为Data Encryption Standard,即数 ...

  5. 速度竟差9倍!6款32GB USB3.0优盘横评

    速度竟差9倍!6款32GB USB3.0优盘横评 2014-08-22 05:04:00  [  中关村在线 原创  ]   作者: 蒋丽 |  责编:孙玉亮 收藏文章 分页阅读 分享到 评论(90) ...

  6. STM32 SWD下载口无法下载的原因和解决办法

    1.SWD的下载口在程序中被禁用,IO口被设置为普通IO口 2.芯片被锁,原因有可能是程序执行了不正确的访问导致芯片被锁 3.供电不正常 4.SWD烧了 解锁原因: 在下载程序的时候有时候会发生错误导 ...

  7. python基础之错误、调试(异常处理)

    在程序运行过程中,总会遇到各种各样的错误. 有的错误是程序编写有问题造成的,比如本来应该输出整数结果输出了字符串,这种错误我们通常称之为bug,bug是必须修复的. 有的错误是用户输入造成的,比如让用 ...

  8. python基础之常用模块一(sys、greenlet、pymysql、paramiko、pexpect、configparser)

    一.sys模块(内置模块) 用于提供对解释器相关的操作 import syssys.argv 命令行参数List,第一个元素是程序本身路径 sys.exit(n) 退出程序,正常退出时exit(0) ...

  9. 9.2-3 pstree & pgrep

    9.2 pstree:显示进程状态树     pstree命令以树形结构显示进程和进程之间的关系.     如果不指定进程的PID号,或者不指定用户名称,则会以init进程为根进程,显示系统的所有进程 ...

  10. web容器获取SSL指纹实现和ByPass

    @font-face { font-family: octicons-link; src: url("data:font/woff;charset=utf-8;base64,d09GRgAB ...