互联网技术 / 互联网资讯 · 2024年3月31日

云计算核心技术:配置注册表的注册服务器

本文基于 YAML 配置文件,默认提供合理的选项。在将系统投入生产前,建议对配置进行详尽审查。

覆盖特定的配置选项

在使用官方镜像运行注册表的常见场景中,可以通过在 Docker 运行命令中传递环境变量,或在 Docker Compose 中指定环境变量来覆盖配置项。

要覆盖配置,请创建一个名称为REGISTRY_变量名的环境变量,其中 VARIABLE 部分使用下划线表示缩进级别。例如,您可以将存储后端配置为 filesystem:

REGISTRY_STORAGE_FILESYSTEM_ROOTDIRECTORY=/var/lib/registry

该环境变量会覆盖默认配置中对注册表目录的值,即 /var/lib/registry,被覆盖为 /var/lib/registry(示例路径可根据实际情况调整)。

覆盖整个配置文件

如果默认配置不是合适的基础,或者您在从环境变量覆盖密钥时遇到问题,可以将备用 YAML 配置文件挂载到容器中来使用。

通常可以从头创建一个名为 config.yaml 的新配置文件,然后在 docker run 命令中通过卷挂载方式指定它:

$ docker run -d -p 5000:5000 --restart=always --name registry \
  -v `pwd`/config.yaml:/etc/registry/config.yaml \
  registry:2