配置与 Docker 的连接
预配置的 Docker 连接允许您:
在运行构建之前,请登录到经过身份验证的 Docker 或 Podman 注册库 / 构建后退出登录;
在构建后清理已发布的镜像(目前Podman不可用)。
您可以在 Project Settings | Connections 页面上配置 Docker Registry 连接。 TeamCity 支持连接到 docker.io(默认)或私有 Docker 注册表。 一个项目中可以添加多个连接。 连接将在当前项目的所有子项目和构建配置中可用。
注册表地址格式
默认情况下,使用 https://docker.io
。 如果一个运行构建的构建代理使用 Podman 而不是 Docker,那么必须将注册域添加到 registries.conf
文件中。 请查看以下文章以获取更多信息:如何管理 Linux 容器注册表。
要连接到注册表,请使用以下格式: [http(s)://]主机名:端口
。
如果未指定协议,则默认使用 https
进行连接。
连接到私有云注册表
TeamCity 支持 Azure 容器注册表存储 Docker 和传统的 LXC 镜像。 您可以使用 Service principal(使用主体 ID 和密码作为连接凭据)或者 Admin account 进行身份验证。
Amazon Elastic Container Registry(AWS ECR)得到了支持:在配置连接时,请指定 AWS 区域和您的 AWS 安全凭证。
连接到不安全的注册表
要连接到不安全的注册表:
在一台机器上使用 Docker 运行多个代理
TeamCity 支持多个代理在同一台机器上并行运行构建,并在这些构建过程中连接到 Docker 注册表的情况。 此设置需要使用不同的 Docker 环境:在一个构建最后执行的 docker logout
命令不应影响另一个代理上的并行构建。
为了配置它,您需要指定每个代理的 .docker
目录的位置。 为此,请将 env.DOCKER_CONFIG=%teamcity.agent.home.dir%/system/.docker
环境变量定义为 构建配置参数,或在每个代理的 buildAgent.properties
文件中定义。