1

我正在使用 Hashicorp Nomad 部署存储在需要凭据才能访问的注册表中的 Docker 映像。根据文档,我可以使用该auth对象来指定用户名和密码,但是凭据必须在我不想要的清单文件中。例如,在 Kubernetes 注册表中,凭证可以存储在机密中并与imagePullSecrets.

如何使用注册表凭据而不必将它们存储在清单本身中(即 CI 中的环境变量、客户端上的 env 变量、Vault 等秘密存储)?

4

1 回答 1

0

如果我理解正确,您应该docker login在每个能够运行 Docker 容器的 Nomad 代理上单独进行操作,或者config.json在每台机器上使用身份验证令牌进行复制。


但是,要回答书面问题,假设您使用的工具知道如何处理变量,则 env-vars 会起作用。

Nomad 提供原生 Vault 集成。秘密将放置在/local应用程序下,并且可以在容器入口点脚本的运行时获取,以便环境变量可用。

或者,您可以使用templatesNomad 规范的功能将consul-template字符串写入 Docker 守护进程的config.json

于 2020-01-01T05:17:40.673 回答