注册表配置基于 YAML 文件,详情如下。虽然它带有开箱即用的合理默认值,但您应该在将系统投入生产之前对其进行详尽的审查。
覆盖特定的配置选项
在从官方映像运行注册表的典型设置中,您可以通过将-e参数传递给您的节或使用 指令docker run从 Dockerfile 中从环境中指定配置变量。ENV
要覆盖配置选项,请创建一个名为 REGISTRY_variablewherevariable是配置选项名称的环境变量, _(下划线)表示缩进级别。例如,您可以配置rootdirectory存储filesystem后端:
storage:
filesystem:
rootdirectory: /var/lib/registry
要覆盖此值,请设置如下环境变量:
REGISTRY_STORAGE_FILESYSTEM_ROOTDIRECTORY=/somewhere
此变量会覆盖目录的/var/lib/registry值/somewhere 。
覆盖整个配置文件
如果默认配置不是您使用的合理基础,或者如果您在从环境中覆盖密钥时遇到问题,您可以通过将其安装为容器中的卷来指定备用 YAML 配置文件。
通常,从头开始创建一个名为 的新配置文件config.yml,然后在docker run命令中指定它:
$ docker run -d -p 5000:5000 --restart=always --name registry \
-v `pwd`/config.yml:/etc/docker/registry/config.yml \
registry:2