Dockerhub访问令牌

我在hub.docker.com上创build了一个仓库,现在想用自己的凭证把我的镜像推送到Dockerhub。 我想知道是否必须使用我的用户名和密码,或者是否可以创build某种访问令牌来推送泊坞窗图像。

我想要做的是使用Concourse的docker docker-image资源将图像推送到Dockerhub。 因此,我必须configuration凭据,如:

 type: docker-image source: email: {{docker-hub-email}} username: {{docker-hub-username}} password: {{docker-hub-password}} repository: {{docker-hub-image-dummy-resource}} 

我不想使用我的Dockerhub密码。

总之,你不能。 有一些解决scheme可能会吸引你,但它可能会首先让你放松一下,知道有一个结构原因:

资源是通过它们的sourceparamsconfiguration的,它们是在pipe道级定义的(在你的yml文件中)。 任何authentication信息都必须在那里定义,因为没有办法从构build中的前一步获取信息到get步骤(它没有input)。

由于持票人令牌通常在“不那么久”(即,小时或者天)之后超时,DockerHub令牌也是如此,所以每当需要时运行构build时,汇聚实例需要能够从authentication服务中获取新的令牌。 这需要某种forms的永久validation存储在中央服务器中,而且目前Dockerhub不支持CI访问令牌。

也就是说,您需要为Concourse提供一个用户名和密码。

如果您担心安全问题,那么您最有可能采取一些措施来降低风险:

  • 您可以使用--load-vars-from来保护您的凭证不被保存在您的pipe道中,将它们存储在别处(LastPass,本地文件等)。
  • 您可能可以在Dockerhub上创build一个只能访问您要推送的特定回购(如果愿意的话)“CI机器人用户”的用户。