docker - 如何通过脚本访问私有(private) docker 注册表而不暴露凭据?

标签 docker authentication docker-compose gitlab gitlab-ci

我想包含一个构建脚本以提取和构建私有(private)图像。我会使用我的用户名和个人访问 token 登录,然后提取图像。

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

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

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

提前致谢。

最佳答案

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

Project-level variables can be added by going to your project's Settings > CI/CD, then finding the section called Variables.

variables screenshot
(source: gitlab.com)


您在此处输入的变量将在所有运行的管道中可用。
docker login -u $MY_USERNAME -p $MY_PASSWORD
如果您使用 GitLab 作为您的私有(private) docker 注册表,您甚至不需要特殊用户 - 您可以使用 $CI_JOB_TOKEN 登录.

关于docker - 如何通过脚本访问私有(private) docker 注册表而不暴露凭据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51264132/

相关文章:

azure - 被拒绝 : retrieving permissions failed in Azure DevOps pipeline

asp.net - 需要用户使用 NTLM 重新进行身份验证

python - Pip install -e 包不会出现在 Docker 中

java - containarized shinyproxy 非常慢

node.js - Redis 和 docker-compose 连接 127.0.0.1 :6379

docker - Traefik + Nextcloud 导致网关故障

wordpress - WP REST API 和 "Only authenticated users can access the REST API"

perl - 在 Mojolicious 中需要有关路由的帮助

docker - 从Dockerfile运行mvn install会出错,但是从容器内部运行成功

docker - 如何在docker compose中将流量从一个容器路由到另一个容器