首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不使用CI运行程序就可以登录到Gitlab容器注册中心吗?

不使用CI运行程序就可以登录到Gitlab容器注册中心吗?
EN

Stack Overflow用户
提问于 2016-12-29 22:21:29
回答 1查看 596关注 0票数 1

是否可以从CI运行程序上下文之外的脚本自动登录到Gitlab注册表?

我有一个非常简单的部署过程,它使用的是一个自制的脚本,简单地说,它做了以下工作:

  • 构建容器图像
  • 推到registry.gitlab.com
  • 登录到目标服务器
  • 从registry.gitlab.com中提取容器映像
  • 运行容器

与Gitlab注册中心的每一次交互都需要以下内容:

代码语言:javascript
复制
docker login registry.gitlab.com

它将提示输入我的用户名/密码。我更希望能做这样的事:

代码语言:javascript
复制
docker login -u <username> -p <password> registry.gitlab.com

这样我就可以实现部署的真正自动化。

我看过Gitlab的文档,花了一些时间在Google上搜索,但我找到的所有参考资料都与使用Gitlab的CI运行程序有关,我在用例中不需要它。

我想达到的目标是可能的吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-12-30 03:53:55

绝对一点儿没错!当您执行docker login your.docker.registry.com时,所发生的情况是:

  • 您的计算机尝试登录到指定的停靠器注册表。
  • 如果登录成功,它将在$HOME/.docker/config.json创建一个文件

这是在官方码头文档中概述的。

config.json是一个非常容易理解和很容易在shell脚本中回音的脚本。成功登录后,可以查看生成的config.json

本质上,这意味着您可以在bash脚本中执行类似的操作:

echo '{"auths":{"registry.gitlab.com":{"auth":"base64encodedcredentials"}}}' > ~/.docker/config.json

一旦机器在正确的位置上有了这个文件,它就不应该在拖动图像时提示您输入登录名或密码。

请记住,--您的用户名和密码--以base64编码格式存储在此文件中。如果这让您感到困扰,您可能需要另一组专用凭证。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41387990

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档