四搭建dockerhub私有仓库

搭建dockerhub私有仓库

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

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

本节我们来探讨如何搭建、使用私有仓库。可使用docker-registry项目或者Docker Registry 2.0来搭建私有仓库,但docker-registry已被官方标记为过时,并且已有2年不维护了,不建议使用。

我们先用Docker Registry 2.0搭建一个私有仓库,然后将Docker镜像推送到私有仓库。

原理图

img

搭建Docker Registry 2.0

Docker Registry 2.0的搭建非常简单,只需执行以下命令即可新建并启动一个Docker Registry 2.0。

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

将镜像推送到Docker Registry 2.0

前文我们使用docker push 命令将镜像推送到了Docker Hub,现在我们将前文构建的itmuch/microservice-discovery-eureka:0.0.1推送到私有仓库。

只需指定私有仓库的地址,即可将镜像推送到私有仓库。

docker push localhost:5000/itmuch/microservice-discovery-eureka:0.0.1

执行以上命令,我们发现推送并没有成功,且提示以下内容:

The push refers to a repository [localhost:5000/itmuch/microservice-discovery-eureka]
An image does not exist locally with the tag: localhost:5000/itmuch/microservice-discovery-eureka

我们知道,Docker Hub是默认的Docker Registry,因此,itmuch/microservice-discovery-eureka:0.0.1相当于docker.io/itmuch/microservice-discovery-eureka:0.0.1。因此,要想将镜像推送到私有仓库,需要修改镜像标签,命令如下:

docker tag itmuch/microservice-discovery-eureka:0.0.1 localhost:5000/itmuch/microservice-discovery-eureka:0.0.1

修改镜像标签后,再次执行以下命令,即可将镜像推送到私有仓库。

docker push localhost:5000/itmuch/microservice-discovery-eureka:0.0.1

相关推荐

  1. Docker私有仓库

    2024-01-18 13:24:04       39 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-18 13:24:04       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-18 13:24:04       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-18 13:24:04       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-18 13:24:04       18 阅读

热门阅读

  1. 几种PHP对称加密解密源码

    2024-01-18 13:24:04       31 阅读
  2. 【Leetcode】239. 滑动窗口最大值

    2024-01-18 13:24:04       38 阅读
  3. 【DFS】130.被围绕的区域

    2024-01-18 13:24:04       38 阅读
  4. c# 学习笔记 - 异步编程

    2024-01-18 13:24:04       36 阅读
  5. IBM V5000 V7000更换控制器注意事项

    2024-01-18 13:24:04       35 阅读
  6. 页面嵌入iframe Cookie丢失问题解决

    2024-01-18 13:24:04       36 阅读