阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

设置一个具有基本 HTTP 身份验证支持的 Docker 私有注册表

459次阅读
没有评论

共计 3423 个字符,预计需要花费 9 分钟才能阅读完成。

Docker Registry 是一个支持共享 Docker 镜像的服务器端应用程序。公共注册表托管在 Docker 中心。如果由于公司政策、防火墙限制等而无法访问公共托管注册表,您可以部署私有注册表。注册表代码是开源的,可根据 Apache License 获得。请注意,私有注册表没有像公共托管注册表一样的 Web 用户界面。私有注册表是一个应用程序,会提供注册表 API 供 Docker 引擎处理镜像。

本文将介绍如何在运行 Red Hat Enterprise Linux (RHEL) 7.1 LE Linux 发行版的 OpenPower 服务器上设置一个具有 TLS 和 HTTP 身份验证功能的 Docker 私有注册表(2.x 版)。除了与在 RHEL 上安装注册表程序包相关的指令之外,这些指令也适用于 OpenPower 服务器上运行的其他大部分 Linux 发行版(Ubuntu、Fedora 等)。

可用性

您可以在以下地址获取最新的 Docker 注册表(2.x 版)的源代码:https://github.com/docker/distribution。

  • 在面向 Intel 服务器和 PowerPC 服务器的 RHEL 和 Fedora 上,2.x 版注册表包名为 docker-distribution。
  • 在面向 Intel 和 PowerPC 服务器的 Ubuntu 上,2.x 版注册表包名为 docker-registry。

下表列出了针对 PowerPC LE (ppc64le) 平台的相关包的位置。

1

将 Docker 私有注册表包安装在 RHEL LE 上

针对 RHEL 7.1 LE 预先编译的 Docker 和 Docker 注册表(2.1 版)的程序包可从 University of Campinas (unicamp) 存储库获得 (ftp://ftp.unicamp.br/pub/linuxpatch/docker-ppc64/)。请注意,这些程序包是按原样提供的。

  1. 使用以下命令,将 unicamp 存储库添加到您的系统中:
    # cat > /etc/yum.repos.d/unicamp-docker.repo <<EOF
    [unicamp-docker]
    name=Unicamp Repo for docker Packages
    baseurl=http://ftp.unicamp.br/pub/ppc64el/rhel/7_1/docker-ppc64el/
    enabled=1
    gpgcheck=0
    EOF
  2. 安装程序包:
    # yum install -y docker-distribution

在其他 Linux 发行版上安装 Docker 私有注册表包的说明

  • 在 Fedora for OpenPower 服务器上,2.x 版的注册表包名为 docker-distribution。
  • 在面向 OpenPower 的 Ubuntu 上,2.x 版的注册表包名为 docker-registry。

安装您的发行版的对应程序包;无论采用什么样的发行版或服务器,剩余指令都是相同的。

2

配置存储

下载和安装 Docker 注册表包后,您需要为镜像配置存储位置。

  1. 创建一个目录来存储镜像。无论是在本地磁盘还是在外部磁盘上,都可以在指定服务器上的任何挂载点上创建该目录。在此示例中,/data/ 是磁盘上一个用于存储 Docker 镜像的单独分区。
    # mkdir /data/registry_data
  2. 使用 htpasswd 命令创建 HTTP 访问控制文件。以下命令将会安装 httpd-tools 包(其中包含 htpasswd 工具),并为用户 regimguser 创建一个文件 registry_passwd。根据您的需求来替换文件名和用户名。选项 -B 用于对密码执行 bcrypt 加密。
    # yum install -y httpd-tools
    # htpasswd -Bc /etc/registry/registry_passwd regimguser

    请注意,在基于 RHEL 的系统上,htpasswd 包含在 httpd-tools 包中,在基于 Ubuntu 的系统上,它包含在 apache2-utils 中。

3

创建注册表配置文件

以下各小节将介绍如何创建注册表配置文件。

  1. 创建一个使用 TLS 保护注册表的证书,并将它复制到所有 Docker 主机。确保在生成证书时使用了注册表 FQDN 作为 CN。
    # mkdir /certs/
    # openssl req  -newkey rsa:4096 -nodes -sha256 -keyout /certs/domain.key  -x509 -days 365 -out /certs/domain.crt
    Generating a 4096 bit RSA private key
    ..........................................................................................++
    [snip]
  2. 将证书复制到所有 Docker 主机,将它放在特定的路径下,如下所示:
    # mkdir -p /etc/docker/certs.d/registry.kube.com:5000/
    # cp domain.crt /etc/docker/certs.d/registry.kube.com:5000/ca.crt
  3. 在操作系统级别上信任该证书并更新 CA 列表。不同 Linux 发行版的指令也会有所不同。
    • 在 RHEL 和 Fedora 上,运行以下命令:
      # cp domain.crt /etc/pki/ca-trust/source/anchors/registry.kube.com.crt
      # update-ca-trust
    • 在 Ubuntu 上,运行以下命令:
      # cp domain.crt /usr/local/share/ca-certificates/registry.kube.com.crt
      # update-ca-certificates
  4. 重新启动 Docker 守护进程:
    # service docker restart
4

启动注册表服务器

使用以下命令行启动注册表服务器:

# REGISTRY_HTTP_TLS_CERTIFICATE=/certs/domain.crt
REGISTRY_HTTP_TLS_KEY=/certs/domain.key screen -dmS registry registry /etc/registry/config.yml

REGISTRY_HTTP_TLS_CERTIFICATE 和 REGISTRY_HTTP_TLS_KEY 也可在注册表配置文件中指定。私有注册表的默认配置文件可在 /etc/registry/config.yml 中找到。关于可用配置选项的细节可在以下位置找到:https://docs.docker.com/registry/configuration/

以下是一段示例配置:

# cat /etc/registry/config.yml
version: 0.1
storage:
  filesystem:
    rootdirectory: /data/registry_data
  delete:
    enabled: true
http:
  addr: registry.kube.com:5000
  host: https://registry.kube.com:5000
  tls:
      certificate: /certs/domain.crt
      key: /certs/domain.key
auth:
  htpasswd:
    realm: basic-realm
    path: /etc/registry/registry_passwd

运行以下命令来启动注册表服务器:

# screen -dmS registry registry /etc/registry/config.yml
5

验证对注册表服务器的访问

从任何 Docker 主机,确认您可以登录到注册表服务器。使用通过 htpasswd 工具创建的 userid 和密码。

# docker login https://registry.kube.com:5000

您现在已完成设置,可以在您的环境中使用 Docker 私有注册表了。

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2016-12/137788.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计3423字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19352
评论数
4
阅读量
8159891
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
星哥带你玩飞牛NAS-2:飞牛配置RAID磁盘阵列

星哥带你玩飞牛NAS-2:飞牛配置RAID磁盘阵列

星哥带你玩飞牛 NAS-2:飞牛配置 RAID 磁盘阵列 前言 大家好,我是星哥之前星哥写了《星哥带你玩飞牛 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
星哥带你玩飞牛 NAS-9:全能网盘搜索工具 13 种云盘一键搞定!

星哥带你玩飞牛 NAS-9:全能网盘搜索工具 13 种云盘一键搞定!

星哥带你玩飞牛 NAS-9:全能网盘搜索工具 13 种云盘一键搞定! 前言 作为 NAS 玩家,你是否总被这些...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
零成本上线!用 Hugging Face免费服务器+Docker 快速部署HertzBeat 监控平台

零成本上线!用 Hugging Face免费服务器+Docker 快速部署HertzBeat 监控平台

零成本上线!用 Hugging Face 免费服务器 +Docker 快速部署 HertzBeat 监控平台 ...
300元就能买到的”小钢炮”?惠普7L四盘位小主机解析

300元就能买到的”小钢炮”?惠普7L四盘位小主机解析

  300 元就能买到的 ” 小钢炮 ”?惠普 7L 四盘位小主机解析 最近...
150元打造低成本NAS小钢炮,捡一块3865U工控板

150元打造低成本NAS小钢炮,捡一块3865U工控板

150 元打造低成本 NAS 小钢炮,捡一块 3865U 工控板 一块二手的熊猫 B3 工控板 3865U,搭...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Android 的最优解?

三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Android 的最优解?

  三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Andr...
每年0.99刀,拿下你的第一个顶级域名,详细注册使用

每年0.99刀,拿下你的第一个顶级域名,详细注册使用

每年 0.99 刀,拿下你的第一个顶级域名,详细注册使用 前言 作为长期折腾云服务、域名建站的老玩家,星哥一直...
仅2MB大小!开源硬件监控工具:Win11 无缝适配,CPU、GPU、网速全维度掌控

仅2MB大小!开源硬件监控工具:Win11 无缝适配,CPU、GPU、网速全维度掌控

还在忍受动辄数百兆的“全家桶”监控软件?后台偷占资源、界面杂乱冗余,想查个 CPU 温度都要层层点选? 今天给...
300元就能买到的”小钢炮”?惠普7L四盘位小主机解析

300元就能买到的”小钢炮”?惠普7L四盘位小主机解析

  300 元就能买到的 ” 小钢炮 ”?惠普 7L 四盘位小主机解析 最近...
颠覆 AI 开发效率!开源工具一站式管控 30+大模型ApiKey,秘钥付费+负载均衡全搞定

颠覆 AI 开发效率!开源工具一站式管控 30+大模型ApiKey,秘钥付费+负载均衡全搞定

  颠覆 AI 开发效率!开源工具一站式管控 30+ 大模型 ApiKey,秘钥付费 + 负载均衡全...