使用泊坞窗认证拉手
本文介绍了如何使用您的码头工人注册表提供商拉图像进行身份验证。
经过身份验证的拉允许访问私人码头工人的图像。它也可以授予取决于您的注册表提供更高的速率限制。
CircleCI与Docker合作,以确保我们的用户可以继续访问Docker Hub而不受速率限制。从2020年11月1日起,除了少数例外,当您通过CircleCI从Docker Hub提取图像时,不应该受到任何速率限制的影响。然而,这些速率限制可能会在将来对CircleCI用户生效。这就是为什么我们鼓励您和您的团队在您的CircleCI配置中添加Docker Hub身份验证,并考虑适当地升级Docker Hub计划,以防止将来速率限制带来的任何影响。
泊坞窗执行人
为搬运工人属性中指定用户名和密码AUTH
你的领域config.yml文件。要保护密码,请将其放入上下文,或者使用每个项目的环境变量。
注意:服务器客户可以替代设置一个通过Docker Hub注册表镜像。
注意:上下文是更灵活的选择。CircleCI支持多种环境,这是一个伟大的方式,模块化的秘密,确保工作不仅可以访问他们需要。
在这个例子中,我们授予泊坞窗凭证背景“打造”的工作访问,搬运工 - 轮毂creds
,而不会膨胀现有的build-env-vars
背景:
工作流程:我的工作流程:职位:-构建:上下文:-build-env-vars-搬运工 - 轮毂creds职位:构建:码头工人:-图片:ACME-民营/私营图片:321AUTH:用户名:mydockerhub用户#可以指定字符串常量的值密码:DOCKERHUB_PASSWORD美元#或项目环境变量引用
您还可以使用来自私有存储库的映像,如gcr.io要么quay.io。请确保提供完整的注册表/图像URL图片
键,并使用了正确的用户名/密码AUTH
关键。例如:
- 图片:quay.io/project/image:tag身份验证:用户名:$ QUAY_USERNAME密码:$ QUAY_PASSWORD
机器执行器(Docker orb)
另外,您也可以利用机
执行器来实现相同的结果使用Docker orb:
版:2.1球体:码头工人:circleci/docker@1.4.0工作流程:我的工作流程:职位:-machine-job:上下文:-build-env-vars-搬运工 - 轮毂creds职位:machine-job:机:真正脚步:-泊坞窗/检查:泊坞窗,用户名:mydockerhub用户# DOCKER_LOGIN是默认值,如果存在,就会自动使用。docker-password:DOCKERHUB_PASSWORD美元#DOCKER_PASSWORD是默认值-泊坞窗/拉:图片:“circleci /节点:最新的”
机执行(与泊坞CLI)
或与cli:
版:2职位:构建:机:真正working_directory的:〜/程序my_app脚步:#码头工人是预装的,有搬运工,撰写沿-结帐#使用私有Docker映像启动私有DB-运行:|搬运工登录-u $ DOCKER_USER -p $ DOCKER_PASSdocker run -d -name db c188bet娱乐官网ompany/ own -db:1.2.3
AWS ECR
CircleCI现在支持亚马逊的ECR服务拉动私人图像。您可以按以下两种方式之一使用私有图片来自ECR:
- 使用标准的CircleCI私有环境变量设置AWS凭据。
- 中指定AWS凭据
.circleci / config.yml
运用aws_auth
:
版:2职位:构建:码头工人:-图片:帐户- id.dkr.ecr.us -东- 1. - amazonaws.com/org/repo: 0.1aws_auth:aws_access_key_id:AKIAQWERVA#可以指定字符串常量的值aws_secret_access_key:$ ECR_AWS_SECRET_ACCESS_KEY#或项目UI ENVAR参考
这两个选项几乎是相同的,但是,第二个选项,您可以指定要用于凭据变量名。这可以派上用场,你有不同的基础设施不同的AWS凭据。例如,假设您的SaaS应用程序运行更快的测试和部署到每个分期的基础设施,同时承诺对Git的标签推,我们才能部署到生产运行全面的测试套件:
版:2职位:构建:码头工人:-图片:帐户- id.dkr.ecr.us -东- 1. - amazonaws.com/org/repo: 0.1aws_auth:aws_access_key_id:AWS_ACCESS_KEY_ID_STAGING美元aws_secret_access_key:$ AWS_SECRET_ACCESS_KEY_STAGING脚步:-运行:的名字:“每一个一天测试”命令:“测试……”-运行:的名字:“部署来分期基础设施”命令:“某物某物阴暗面....cli”部署:码头工人:-图片:帐户- id.dkr.ecr.us -东- 1. - amazonaws.com/org/repo: 0.1aws_auth:aws_access_key_id:$ AWS_ACCESS_KEY_ID_PRODUCTIONaws_secret_access_key:AWS_SECRET_ACCESS_KEY_PRODUCTION美元脚步:-运行:的名字:“完整的测试套房”命令:“测试……”-运行:的名字:“部署来生产基础设施”命令:“某物某物阴暗面....cli”工作流程:版:2主要:职位:-构建:过滤器:标签:只有:/^\d{4}\.\d+$/-部署:需要:-构建过滤器:分支机构:忽视:/ . * /标签:只有:/^\d{4}\.\d+$/