本文基于 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