在《Docker镜像管理(一)》中介绍了使用Docker Hub来管理你的Docker镜像,小伙伴们在创建仓库时,细心的同学可能已经发现再次创建private类型的仓库时,不能创建了,如下图:

从上图中可以看出,Private单选钮变成灰色,虽然Create按钮能点击,但怎么也创建不了仓库了。Public单选钮上面多了一行红色的字:Using 1 of 1 private repositories. Get more

这说明免费的午餐吃完了!点击Get more后发现Docker Hub的私有仓库只能免费建一个,再次需要收费了!!不差钱的小伙伴可以购买。

本文简述另一种管理Docker镜像的方法:通过Docker registry2.0建立自己的私有仓库。该仓库是一个无状态、高可用、可扩展的服务器端应用程序,存储并能分发Docker镜像。有如下的好处:

1. 可以严格控制镜像的存储位置

2. 完全拥有镜像分发渠道

3. 可将镜像存储和分发紧密集成到内部开发工作流中

Docker Registry 2.0已经可以满足大部分开发需求,尽管它不包含界面、用户管理、权限控制等功能。如果想要更好的功能,可使用Docker Trusted Registry(DTR)。DTR是一种商业产品,它支持完整的镜像管理工作流,具有LDAP集成、镜像签名、安全扫描以及与通用控制平面的集成。

本文将以Docker Registry 2.0为例,简述其镜像管理方法。

安装要求

Docker Engine 1.6.0或更高版本

搭建Registry

docker run -d -p 5000:5000 --restart=always --name registry registry:2

从下图可以看出,Registry作为一个Docker容器在运行了,并提供管理镜像的服务。

重命名镜像

本地镜像可以是自己构建的镜像也可以是从Docker Hub中拉取的镜像。推送镜像(即将本地镜像发布到上述建立的镜像仓库registry中)前,需要给镜像打下Tag。执行如下Docker命令:

docker tag szroy/my-test-repo:v0.0.1 localhost:5000/szroy/my-test-repo1

推送镜像

执行如下Docker命令:

docker push localhost:5000/szroy/my-test-repo1

拉取镜像

为了验证拉取镜像,先将本地镜像删除后,再拉取。执行如下命令:

docker pull localhost:5000/szroy/my-test-repo1

或从另外一台装有Docker的机器上拉取镜像,执行如下命令:

docker pull localhost:5000/szroy/my-test-repo1

注意:需将上述命令中localhost要用registry所在的服务器的IP地址代替。

docker 镜像重命名_Docker镜像管理(二)相关推荐

  1. docker 镜像重命名_Docker 镜像该怎么传

    开门见山,提一个问题,如何把一个容器从开发环境取出来,到其他机器上跑起来?docker hub是一个很好的选择,把镜像提交上去,到另外的机器上拉取下来,很方便. 但是,没有网络怎么办,本文告诉你如何操 ...

  2. docker 镜像重命名_Docker使用技巧:你会正确导出Docker镜像?

    工作中我们会常常遇到在没有镜像仓库中心的时候,需要将容器放到到另外一个主机上,此时,我们就需要将镜像导出,今天我们就介绍下docker的导出(docker export & docker sa ...

  3. Docker容器——重命名镜像的TAG

    Docker容器--重命名镜像的TAG 背景 日常我们开发时,我们会遇到各种各样的奇奇怪怪的问题(踩坑o(╯□╰)o),这个常见问题系列就是我日常遇到的一些问题的记录文章系列,这里整理汇总后分享给大家 ...

  4. Docker 镜像 重命名

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 1. 镜像改名命令格式: # 命令格式:docker? tag? 镜像id? 仓库:标签或:dock ...

  5. 镜像save保存和镜像重命名tag

    保存(Save) Save命令用于持久化镜像(不是容器).所以,我们就需要通过以下方法得到镜像名称: sudo docker images 接着执行保存: sudo docker save 镜像名称 ...

  6. docker 容器重命名

    容器重命名 docker rename 容器名称 新容器名称

  7. docker开机启动失败_Docker教程(二)——安装Docker

    Docker 核心组件 镜像(Image) 镜像是构建docker世界的基石,也是docker生命周期中的构建阶段. 仓库(Registry) 存储用户构建的镜像以及官方的镜像,分为公有和私有. Do ...

  8. python docker 镜像过大_Docker镜像压缩与优化操作

    现如今docker如此受人追捧,主要是因为它的轻量化.可以快速部署以及资源的利用.但是一个docker images质量的好与坏,主要取决于dockerfile编写的质量.同样功能的镜像,但是不同的d ...

  9. docker pull 下载一半_docker镜像pull不下来最终解决方法

    pull镜像wordpress下来,但是出现如下错误: # docker pull wordpress:latest Error response from daemon: Get https://r ...

最新文章

  1. linux 内核 调试工具介绍
  2. jQuery的弹出窗口插件colorbox
  3. 超越BI,数据产品的前途在哪里?
  4. Sharepoint 2010 根据用户权限隐藏Ribbon菜单
  5. linux下添加新硬盘的方法
  6. Python中如何设置函数的默认值
  7. 表单提交_django 的ajax提交与表单提交记录
  8. 非常简单的conda环境重命名方法
  9. Linux 查看日志命令
  10. TE银令契约,2019颠覆行业模式,造就大批巨富
  11. PTA A1007A1008
  12. 程序员如何防止脑疲劳:下午补充一些干果
  13. 玉米社:软文营销推广_文案内容撰写需要注意哪些问题?
  14. android圆形菜单,android 圆形旋转菜单例子
  15. 【卷积神经网络】卷积层,池化层,全连接层
  16. 面试题-ARP防御方法
  17. SPSS Modeler18.0数据挖掘软件教程(四):分类分析-决策树
  18. Qt QTabWidget详解
  19. 简单+精致+特色+小巧=好的产品
  20. 如何用OpenSSL从https网站上导出SSL的CA证书?

热门文章

  1. 基于FPGA的costas环同步系统仿真与分析
  2. 关于stm32芯片解锁方法
  3. 干货!一次kafka卡顿事故排查过程
  4. 某电商平台开发记要——客服系统
  5. SCCM2012SP1---配置客户端发现方法和边界组
  6. 部署 DevStack - 每天5分钟玩转 OpenStack(17)
  7. SQL SERVER 数据库 怎么从一个服务器一个表中把数据插入到另一个服务器中的一个表内(纯复制)...
  8. 几个复制表结构和表数据的方法
  9. 关于expanded一级二级菜单数据的分组排序
  10. 解决:libtool: line 815: X--tag=CXX: command not found