如何通过脚本访问私有Docker注册表而不暴露凭据?

时间:2018-07-10 11:33:09

标签: docker authentication docker-compose gitlab gitlab-ci

我想包含一个构建脚本,以便提取和构建私有映像。我将使用我的用户名和个人访问令牌登录docker,然后提取图像。

这样,我将这些凭据公开在存储库中,这不是很安全。我将如何管理这种身份验证?

这是我的脚本,具有公开的凭据:

deploy:
    ssh <user>@<ip> "docker login registry.example.com -u <user> -p <token> && docker-compose up"

谢谢。

1 个答案:

答案 0 :(得分:4)

使用GitLab的项目级或小组级secret variables

  

可以通过转到项目的设置> CI / CD ,然后找到名为变量的部分来添加项目级变量。

     

variables screenshot

您在此处输入的变量将在所有运行的管道中可用。

docker login -u $MY_USERNAME -p $MY_PASSWORD

如果您使用GitLab作为私有Docker注册表,则甚至不需要特殊用户-您可以使用$CI_JOB_TOKEN登录。