Dockerhub 的访问令牌
Access Token for Dockerhub
我在 hub.docker.com
上创建了一个存储库,现在想使用我的凭据将我的图像推送到 Dockerhub。我想知道我是否必须使用我的用户名和密码,或者我是否可以创建某种访问令牌来推送 docker 图片。
我想做的是使用 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 密码。
简而言之,你不能。有一些解决方案可能对您有吸引力,但首先了解其中的结构性原因可能会让您放心:
资源是通过它们的 source
和 params
配置的,它们是在管道级别(在您的 yml 文件中)定义的。任何身份验证信息都必须在那里定义,因为无法从构建的早期步骤中获取信息到 get
步骤(它没有输入)。
由于不记名令牌通常在 "not that long"(即几小时或几天)后超时,这对于 DockerHub 令牌也是如此,每次 concourse 实例都需要能够从身份验证服务获取新令牌如有必要,构建运行。无论如何,这需要某种形式的持久身份验证存储在大厅服务器中,目前 Dockerhub 不支持 CI 访问令牌 github.
也就是说,您需要以某种方式向 Concourse 提供用户名和密码。
如果您担心安全问题,最有可能采取一些措施来降低风险:
- 您可以使用
--load-vars-from
来保护您的凭据不被保存在您的管道中,将它们存储在其他地方(LastPass、本地文件等)。
- 您可以在 Dockerhub 上创建一个用户,该用户只能访问您要推送的特定存储库,如果您愿意,可以创建一个 "CI bot user"。
Docker Hub 支持访问令牌
转到 Account Settings > Security
它与 Github 个人访问令牌 (PAT)
相同
您可以使用此令牌代替实际密码
我在 hub.docker.com
上创建了一个存储库,现在想使用我的凭据将我的图像推送到 Dockerhub。我想知道我是否必须使用我的用户名和密码,或者我是否可以创建某种访问令牌来推送 docker 图片。
我想做的是使用 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 密码。
简而言之,你不能。有一些解决方案可能对您有吸引力,但首先了解其中的结构性原因可能会让您放心:
资源是通过它们的 source
和 params
配置的,它们是在管道级别(在您的 yml 文件中)定义的。任何身份验证信息都必须在那里定义,因为无法从构建的早期步骤中获取信息到 get
步骤(它没有输入)。
由于不记名令牌通常在 "not that long"(即几小时或几天)后超时,这对于 DockerHub 令牌也是如此,每次 concourse 实例都需要能够从身份验证服务获取新令牌如有必要,构建运行。无论如何,这需要某种形式的持久身份验证存储在大厅服务器中,目前 Dockerhub 不支持 CI 访问令牌 github.
也就是说,您需要以某种方式向 Concourse 提供用户名和密码。
如果您担心安全问题,最有可能采取一些措施来降低风险:
- 您可以使用
--load-vars-from
来保护您的凭据不被保存在您的管道中,将它们存储在其他地方(LastPass、本地文件等)。 - 您可以在 Dockerhub 上创建一个用户,该用户只能访问您要推送的特定存储库,如果您愿意,可以创建一个 "CI bot user"。
Docker Hub 支持访问令牌
转到 Account Settings > Security
它与 Github 个人访问令牌 (PAT)
相同您可以使用此令牌代替实际密码