Dockerhub的访问令牌

Mic*_*ihs 9 authentication docker docker-registry concourse

我创建了一个存储库hub.docker.com,现在想要使用我的凭据将我的图像推送到Dockerhub.我想知道是否必须使用我的用户名和密码,或者我是否可以创建某种访问令牌来推送docker镜像.

我想要做的是使用docker-imageConcourse 的资源将图像推送到Dockerhub.因此,我必须配置如下凭据:

type: docker-image
source:
  email: {{docker-hub-email}}
  username: {{docker-hub-username}}
  password: {{docker-hub-password}}
  repository: {{docker-hub-image-dummy-resource}}
Run Code Online (Sandbox Code Playgroud)

我不想使用我的Dockerhub密码.

Qui*_*ana 8

总之,你不能.有一些解决方案可能对您有吸引力,但它可能会让您放心,首先要知道这有一个结构性原因:

资源通过其配置sourceparams,这是在管道的水平(在你的YML文件)中定义.必须在那里定义任何身份验证信息,因为无法从构建中的早期步骤获取信息到该get步骤(它没有输入).

由于持有令牌通常在"不那么长"(即小时或天)之后超时,这对DockerHub令牌也是如此,每当构建运行时,大厅实例需要能够从认证服务获取新令牌.这需要某种形式的持久性权威性的无论如何都要保存在大厅服务器,目前Dockerhub不支持CI访问令牌一拉github上.

也就是说,您需要以这种或那种方式向Concourse提供用户名和密码.

如果您担心安全问题,可以采取一些措施来降低风险:

  • 您可以使用它--load-vars-from来保护您的凭据不被保存在管道中,将它们存储在别处(LastPass,本地文件等).
  • 您可以在Dockerhub上创建一个只能访问您想要推送的特定仓库的用户,如果愿意,还可以访问"CI bot用户".


WSM*_*as9 5

Docker Hub 支持 Access Token
gotoAccount Settings > Security

与 Github 个人访问令牌 (PAT) 相同

您可以使用此令牌代替实际密码