问题描述
在构建/部署流水线中被要求使用Docker Hub。他需要向第三方工具提供一些身份验证凭据,以便该工具可以将容器镜像推送到私有仓库。然而,他找不到可以生成安全的凭据/ API密钥的地方。他想知道是否有什么遗漏。在Amazon中,他可以创建具有IAM的角色。请注意,他尝试使用的平台是banzaicloud.com。他试图按照他们的说明设置一个基本的Node.js应用程序。就他所知,身份验证问题不应该出现在第三方工具的一方。就像他可以为任何类型的服务生成API密钥并在任何客户端中使用它们一样。在他所指的平台上,似乎只能使用“完整的Docker Hub帐户”凭据,而不是某种专用的第三方机制(如API密钥或IAM等)。
解决方案
请注意以下操作注意版本差异及修改前做好备份。
方案1
要为Docker Hub创建凭据,您可以按照以下步骤生成访问令牌:
1. 打开Docker Hub安全设置页面。
2. 创建一个新的访问令牌。
3. 生成的访问令牌可以用于大多数Docker Hub操作,而不是密码(例如,docker login --username $user --password $token
)。
方案2
如果您正在使用Jenkins,可以参考以下文档中的说明:
– https://getintodevops.com/blog/building-your-first-docker-image-with-jenkins-2-guide-for-developers
–
–
请注意,这些文档中的说明是关于如何在Jenkins中构建Docker镜像的,可能不完全适用于您的情况。
请注意,无论您选择哪种方案,都应该确保在构建流水线中掩盖凭据,以防止它们出现在日志或控制台转储中。
以上是为Docker Hub创建凭据的两种解决方案。您可以根据您的具体需求选择适合您的方法。