我在hub.docker.com
上创建了一个存储库,现在想要使用我的凭据将我的图像推送到Dockerhub。我想知道是否必须使用我的用户名和密码,或者是否可以创建某种访问令牌以推送泊坞窗图像。
我想要做的是使用Concourse的docker-image
资源将图像推送到Dockerhub。因此,我必须配置以下凭据:
type: docker-image
source:
email: {{docker-hub-email}}
username: {{docker-hub-username}}
password: {{docker-hub-password}}
repository: {{docker-hub-image-dummy-resource}}
并且我不想使用我的Dockerhub密码。
答案 0 :(得分:8)
资源是通过他们的source
和params
配置的,这些资源是在管道级别(在您的yml文件中)定义的。必须在那里定义任何身份验证信息,因为无法从构建中的早期步骤获取信息到get
步骤(它没有输入)。
由于承载令牌通常在“不长”(即数小时或数天)之后超时,这对DockerHub令牌也是如此,因此每次构建运行时,汇总实例都需要能够从身份验证服务中获取新令牌如有必要。这需要某种形式的持久性身份验证才能存储在汇合服务器中,目前Dockerhub不支持CI访问令牌github。
这就是说,您需要以这种或那种方式向Concourse提供用户名和密码。
如果您担心安全问题,可以采取一些措施来降低风险:
--load-vars-from
保护您的凭据不被保存在管道中,将其存储在其他位置(LastPass,本地文件等)。答案 1 :(得分:4)
Docker Hub支持访问令牌
转到Account Settings > Security
与Github个人访问令牌(PAT)相同
您可以使用此令牌代替实际密码