使用私有仓库管理镜像

很多场景下,需要使用docker私服管理镜像。相比Docker Hub 私有仓库有以下优势:

  1. 节省带宽,对于私有仓库已有的镜像无需从Docker Hub 上下载,秩序从私有仓库中下载即可
  2. 更加安全。无需网络服务
  3. 便于内部镜像的统一管理

可以使用docker-degistry项目或Docker Registry2.0 来搭建私有仓库,但docker-degistry一倍官方标记为过时项目,不建议使用
以下使用Docker Registry2.0 来搭建一个私有的Docker仓库

构建docker私服

搭建Docker Degistry2.0非常简单,只需执行以下命令即可新建并启动一个Docker Registry2.0仓库

[root@master ~]# docker run -d -p 5000:5000 --restart=always --name registry2 registry:2
Unable to find image 'registry:2' locally
2: Pulling from library/registry
486039affc0a: Pull complete
ba51a3b098e6: Pull complete
8bb4c43d6c8e: Pull complete
6f5f453e5f2d: Pull complete
42bc10b72f42: Pull complete
Digest: sha256:7d081088e4bfd632a88e3f3bcd9e007ef44a796fddfe3261407a3f9f04abe1e7
Status: Downloaded newer image for registry:2
39cbd3fb984f67a64f64cdbd442a42d5680113611a4fa799e2e59699f80d3265[root@master ~]# docker ps
CONTAINER ID     IMAGE          COMMAND                  CREATED              STATUS
39cbd3fb984f  registry:2   "/entrypoint.sh /etc…"   About an hour ago   Up 58 minutes
PORTS                      NAMES
0.0.0.0:5000->5000/tcp     registry2
推送镜像
[root@localhost~]# docker push  eurekaserver:eureka

推送没有成功,出现如下提示:

The push refers to repository [docker.io/library/eurekaserver]
Get https://registry-1.docker.io/v2/: dial tcp: lookup registry-1.docker.io on 192.168.18.2:53: no such host

docker push 默认推送到Docker Hub上,所以 docker push eurekaserver:eureka 相当于 docker push docker.io/eurekaserver:eureka,因此,需要修改镜像标签,命令如下

[root@localhost~]# docker tag eurekaserver:eureka 192.168.18.145:5000/eurekaserver:eureka[root@localhost~]#docker images
REPOSITORY                         TAG          IMAGE ID            CREATED          SIZE
192.168.18.145:5000/eurekaserver   eureka       809e0f84003b        43 hours ago    696MB
eurekaserver                       eureka       809e0f84003b        43 hours ago    696MB
master:5000/eurekaserver           eureka       809e0f84003b        43 hours ago    696MB
registry                           2            708bc6af7e5e        2 months ago   25.8MB
java                               8            d23bdf5b1b1b        3 years ago     643MB

再执行推送命令:

[root@localhost~]# docker push 192.168.18.145:5000/eurekaserver:eureka

如果还没有推送成功,提示如下:

The push refers to repository [master:5000/eurekaserver]
Get https://master:5000/v2/: http: server gave HTTP response to HTTPS client

解决方法:

在”/etc/docker/“目录下,创建”daemon.json“文件。在文件中写入:

{ "insecure-registries":["192.168.1.100:5000"] }

保存退出后,重启docker。如已有内容使用逗号隔开,问题解决:

执行:

[root@localhost~]# docker push 192.168.18.145:5000/eurekaserver:eureka
The push refers to repository [192.168.18.145:5000/eurekaserver]
709a2b0c223f: Pushed
35c20f26d188: Pushed
c3fe59dd9556: Pushed
6ed1a81ba5b6: Pushed
a3483ce177ce: Pushed
ce6c8756685b: Pushed
30339f20ced0: Pushed
0eb22bfb707d: Pushed
a2ae92ffcd29: Pushed
eureka: digest: sha256:654dbccaf67bd9790cb8258c0c73a010e5f32b22317d7eb15ae5def42882aac3 size: 2212

表示推送成功

三. Docker私有仓库镜像命令

1)查看私有仓库执行此命令:
[root@master ~]# curl -XGET http://192.168.18.145:5000/v2/_catalog
{"repositories":["eurekaserver"]}
2)获取某个镜像的标签列表:
[root@localhost~]# curl -XGEThttp://192.168.18.145:5000/v2/eurekaserver/tags/list
3)下载镜像
[root@localhost~]# docker pull 192.168.18.145:5000/eurekaserver

CentOS7构建docker私服管理镜像相关推荐

  1. 【Docker】五 Docker Hub管理镜像

    Docker Hub管理镜像 1 Docker Hub管理镜像 1.1 注册与登录 1.2 创建仓库 1.3 推送镜像 2 使用Docker Registry管理镜像 2.1 原理图 2.2 搭建Do ...

  2. centos7安装docker并配置镜像加速

    Centos7安装docker 并配置镜像加速 1.如果系统上之前有安装过docker 那么就需要先执行下面的命令 删除旧版本docker sudo yum remove docker \docker ...

  3. Docker系列教程09-使用Docker Hub管理镜像

    为什么80%的码农都做不了架构师?>>>    > 原文:<http://www.itmuch.com/docker/09-docker-docker-hub/> ...

  4. Centos7 解决Docker拉取镜像慢的问题

    配置加速Docker镜像源 vi /etc/docker/daemon.json 在配置文件中加入 {"registry-mirrors": ["https://xxx. ...

  5. 搭建Docker私服

    docker-compose.yml version: '3.1' services:registry: image: registry restart: alwayscontainer_name: ...

  6. CentOS7服务器Docker构建ubuntu镜像出错invalid argument

    为什么80%的码农都做不了架构师?>>>    #1 发现问题 拿到某云主机时,选择了最新的CentOS 7.2的公共镜像,一些工作过后,开始布暑应用.因为没有使用docker仓库, ...

  7. Docker安装 下载镜像 部署容器 备份 创建私服

    Docker 学习目标: 掌握Docker基础知识,能够理解Docker镜像与容器的概念 完成Docker安装与启动 掌握Docker镜像与容器相关命令 掌握Tomcat Nginx 等软件的常用应用 ...

  8. 基于Kubernetes构建Docker集群管理详解

    from: 基于Kubernetes构建Docker集群管理详解 Kubernetes是Google开源的容器集群管理系统,基于Docker构建一个容器的调度服务,提供资源调度.均衡容灾.服务注册.动 ...

  9. Docker安装与镜像,容器命令管理

    docker和容器的关系 -Docker是完整的一套容器管理系统 -Docker提供了一组命令, 让用户更加方便直接地使用容器技 术,而不需要过多关心底层内核技术 一.Docker的安装 1.配置环境 ...

最新文章

  1. 实现jquery.ajax及原生的XMLHttpRequest调用WCF服务的方法
  2. mysql数据导出权限问题
  3. 反序列化(先序)——split : string--vectorstring
  4. 钉钉微应用的开发——主前端
  5. Java_io体系之CharArrayReader、CharArrayWriter简介、走进源码及示例——13
  6. 【C++grammar】结构化绑定
  7. lwip连续发数据卡死_Mysteel:12月全球铁矿石发运量稳中微增 进口矿咋走?
  8. 3个最常见案例详解DBA日常维护
  9. VBA_输出SQL查询数据
  10. CLR via C# 中关于装箱拆箱的摘录
  11. 044、JVM实战总结:高级工程师的硬核技能:JVM的Young GC日志应该怎么看?
  12. ios13.4.1续航怎么样?
  13. CNN————激活可能性小的神经元不代表这个神经元的用处小
  14. C++原型模式和模板模式
  15. 转:如何在Ubuntu系统下安装使用LaTeX
  16. 华为研发岗位两轮面试的准备(本科生,已经拿到offer,月薪20k,15薪)
  17. 台达 PLC 绝对定位
  18. 海尔构建全球首个智能制造云平台COSMO
  19. 程序员发布:一张图读懂支撑阿里双十一1682亿的技术架构体系
  20. 以Python角度学习Javascript(一)

热门文章

  1. 第10周项目6-贪财的富翁
  2. C++实现w3cshool设计模式教程--设计模式中的Java代码
  3. 南冻北旱考验农产品市场 须防游资借机炒作
  4. java基于springboot+vue服装商城-服装销售网站
  5. Python | 常用的命令
  6. 正向代理与反向代理通俗理解
  7. 当node脱离v8_Node Bug 太多惨遭创始人抛弃,前端开发要变天?
  8. 豆瓣引流能赚钱吗?怎么做?
  9. action mailbox
  10. C语言中的for(;;)循环