搭建本地 Registry - 每天5分钟玩转 Docker 容器技术(20)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了搭建本地 Registry - 每天5分钟玩转 Docker 容器技术(20)相关的知识,希望对你有一定的参考价值。

Docker Hub 虽然非常方便,但还是有些限制,比如:

  1. 需要 internet 连接,而且下载和上传速度慢。

  2. 上传到 Docker Hub 的镜像任何人都能够访问,虽然可以用私有 repository,但不是免费的。

  3. 安全原因很多组织不允许将镜像放到外网。

解决方案就是搭建本地的 Registry。

Docker 已经将 Registry 开源了,同时在 Docker Hub 上也有官方的镜像 registry。下面我们就在 Docker 中运行自己的 registry。

  1. 启动 registry 容器。
    技术分享
    我们使用的镜像是 registry:2。

    -d 是后台启动容器。

    -p 将容器的 5000 端口映射到 Host 的 5000 端口。5000 是 registry 服务端口。端口映射我们会在容器网络章节详细讨论。

    -v 将容器 /var/lib/registry 目录映射到 Host 的 /myregistry,用于存放镜像数据。-v 的使用我们会在容器存储章节详细讨论。

  2. 通过 docker tag 重命名镜像,使之与 registry 匹配。
    技术分享我们在镜像的前面加上了运行 registry 的主机名称和端口。

    前面已经讨论了镜像名称由 repository 和 tag 两部分组成。而 repository 的完整格式为:[registry-host]:[port]/[username]/xxx

    只有 Docker Hub 上的镜像可以省略 [registry-host]:[port] 。

  3. 通过 docker pull 上传镜像。
    技术分享

  4. 现在已经可通过 docker pull 从本地 registry 下载镜像了。
    技术分享除了镜像的名称长一些(包含 registry host 和 port),使用方式完全一样。

以上是搭建本地 registry 的简要步骤。当然 registry 也支持认证,https 安全传输等特性,具体可以参考官方文档 https://docs.docker.com/registry/configuration/

至此,Docker 镜像的内容就讨论完了,下节我们对这部分做个小结。


技术分享

以上是关于搭建本地 Registry - 每天5分钟玩转 Docker 容器技术(20)的主要内容,如果未能解决你的问题,请参考以下文章

使用公共 Registry - 每天5分钟玩转 Docker 容器技术(19)

Docker 镜像小结 - 每天5分钟玩转 Docker 容器技术(21)

Docker 镜像小结 - 每天5分钟玩转 Docker 容器技术(21)

搭建 OpenStack 实验环境 - 每天5分钟玩转 OpenStack(16)

搭建 OpenStack 实验环境 - 每天5分钟玩转 OpenStack(16)

10《每天5分钟玩转Docker容器技术》学习-Docker命令之本地镜像管理