仓库 ( registry ) 是一个用来存放镜像的地方,当我们执行 docker pull centos 去拉取 centos 镜像时,默认是从 Docker Hub 这个公共仓库来拉取的;

对于企业来说,使用公共仓库明显是不可行的,因此我们可以自己搭建一个私有仓库;这里我用 192.168.1.1 用来搭私有仓库 ( 相当于服务端 ) ,用 192.168.1.2 来下载/上传镜像 ( 相当于客户端 )

192.168.1.1 ( 服务端 ) 搭建私有仓库:

[root@localhost ~]$ docker pull registry                   # 下载registry镜像,这个镜像是官方提供的,我们可以用它来创建私有仓库
[root@localhost ~]$ docker run -d -p 5000:5000 registry # 把registry镜像启动为容器,并映射宿主机的5000端口
[root@localhost ~]$ curl 127.0.0.1:5000/v2/_catalog # 查看目前仓库里都有哪些镜像,我们还没上传镜像上去,所以是空的
{"repositories":[]}

192.168.1.2 ( 客户端 ) 上传或下载镜像:

# 假设我现在有一个镜像,我要把这个镜像上传到私有仓库:
[root@localhost ~]$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
centos latest 1e1148e4cc2c 3 weeks ago 202MB # 需要先对镜像打一个标签,这个标签必须带有私有仓库的IP地址和端口:
[root@localhost ~]$ docker tag centos 192.168.1.1:5000/centos # 修改配置文件,指明私有仓库的地址,并重启docker:
[root@localhost ~]$ cat /etc/docker/daemon.json
{ "insecure-registries": ["192.168.1.1:5000"] }
[root@localhost ~]$ systemctl restart docker.service # 上传镜像:
[root@localhost ~]$ docker push 192.168.1.1:5000/centos # 查看服务端是否有上传的镜像:
[root@localhost ~]$ curl 192.168.1.1:5000/v2/_catalog
{"repositories":["centos"]} # 我们也可以下载镜像:
[root@localhost ~]$ docker pull 192.168.1.1:5000/centos

其他机器 ( 客户端 ) 如果想下载镜像,执行如下:

# 修改配置文件,指明私有仓库的地址,并重启docker:
[root@localhost ~]$ cat /etc/docker/daemon.json
{ "insecure-registries": ["192.168.1.1:5000"] }
[root@localhost ~]$ systemctl restart docker.service # 下载镜像:
[root@localhost ~]$ docker pull 192.168.1.1:5000/centos

Docker 仓库管理的更多相关文章

  1. [第十一篇]——Docker 仓库管理之Spring Cloud直播商城 b2b2c电子商务技术总结

    Docker 仓库管理 仓库(Repository)是集中存放镜像的地方.以下介绍一下 Docker Hub.当然不止 docker hub,只是远程的服务商不一样,操作都是一样的. Docker H ...

  2. Docker学习(五)——Docker仓库管理

    Docker仓库管理     仓库(Repository)是集中存放镜像的地方. 1.Docker Hub       目前Docker官方维护了一个公共仓库Docker Hub.大部分需求都可以通过 ...

  3. 【Docker】第四篇 Docker仓库管理

    一.仓库概述 仓库(Repository):Docker仓库主要用于镜像的存储,它是镜像分发.部署的关键.仓库分为公共仓库和私有仓库. 注册服务器(Registry)和仓库区别:注册服务器上往往存放着 ...

  4. Docker仓库管理

    1.# docker pull registry //下载registry镜像,registry为docker官方提供的一个镜像,我们可以用它来创建本地的docker私有仓库. 2.# docker ...

  5. 011.Docker仓库管理

    一 Docker仓库介绍 docker 仓库,即 registry,实现了镜像的管理.分发,同时还包括用户的认证.docker registry 仓库是一个无状态的.高可靠的服务器应用程序,用来存储d ...

  6. docker仓库管理(9)

    使用公共 Registry Docker Hub 是 Docker 公司维护的公共 Registry.用户可以将自己的镜像保存到 Docker Hub 免费的 repository 中.如果不希望别人 ...

  7. docker 实践(一)

    docker 简介 容器虚拟化,比传统的虚拟化轻量 2013年出现,发展非常迅猛 Redhat在6.5版本开始支持docker 使用go语言开发,基于apache2.0协议 开源软件,项目代码在git ...

  8. 012.Docker私有仓库多Harbor同步部署

    一 Harbor主从介绍 harbor官方默认提供主从复制的方案来解决镜像同步问题,通过复制的方式,我们可以实时将测试环境harbor仓库的镜像同步到生产环境harbor,类似于如下流程: Harbo ...

  9. 【Docker】Docker 目录

    目录: [Docker]第一篇 Docker的初始化安装部署 [Docker]第二篇 Docker镜像管理 [Docker]第三篇 Docker容器管理 [Docker]第四篇 Docker仓库管理

随机推荐

  1. r语言 function 指定多个返回值

    # Goals: To write functions # To write functions that send back multiple objects. # FIRST LEARN ABOU ...

  2. android批量插入数据效率对比

    对比在android中批量插入数据的3中方式对比(各插入1W条数据所花费的时间): 1. 一个一个插入 /** * 向表中插入数据 * * @param openHelper * @param app ...

  3. thinkphp5的Redis缓存配置

    thinkphp采用cache类提供缓存功能支持,采用驱动方式,在使用缓存之前需要进行初始化操作.支持的缓存类型包括file.memcache.wincache.sqlite.redis和xcache ...

  4. (笔记)Mysql命令grant on:增加新用户并控制其权限

    grant on命令用于增加新用户并控制其权限. grant on命令格式:grant select on 数据库.* to 用户名@登录主机 identified by “密码”; 1) 增加一个用 ...

  5. googletest进行单元测试(使用cmake编译)

    一.前提: 1.假定你的系统为centos6系列 2.假定你已经安装了基本的编译环境,gcc,g++4.4.7 3.假定你已经设置了环境变量:KDS_MOBILE_STOCK_HOME 4.假定你已经 ...

  6. Android 开发规范

    一. 总包命名规范: 1. 主程序:com  . 公司简写 . 项目名称简写 如彩票主程序: com.whszzy.caipiao 2. 独立模块:com . 公司简写 . 项目名称简写 . 模块名称 ...

  7. HTML5视频破碎重组特效 强大视觉冲击

    HTML5视频播放器很多,但是HTML5视频特效还是很少见的,这款HTML5视频破碎重组特效非常刺激,给人强大的视觉冲击.点击视频任意地方,HTML5将会将这些区域击碎,过一段时间,这些被击碎的视频碎 ...

  8. Java 7中的TransferQueue 以及 SynchronousQueue

    Java7中加入了JSR 166y规范对集合类和并发类库的改进.其中的一项是增加了接口TransferQueue和其实现类LinkedTransferQueue. TransferQueue继承了Bl ...

  9. springboot中@EnableAsync与@Async注解使用

    springboot中@EnableAsync与@Async注解使用 @Async为异步注解,放到方法上,表示调用该方法的线程与此方法异步执行,需要配合@EnableAsync注解使用. 1.首先演示 ...

  10. js(数组篇02)

    原文:http://www.cnblogs.com/zaking/p/8686676.html 上一篇文章简单的介绍了一下js的类型,以及数组的增删方法.这一篇文章,我们一起来看看数组还有哪些用法,以 ...