本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
一个专注于持续交付和部署的Docker镜像,专为在CircleCI上运行而构建
!CircleCI构建状态 !软件许可证 !Docker拉取量 !CircleCI社区 !仓库
cimg/deploy是由CircleCI创建的Docker镜像,专为持续交付和部署流水线设计。每个标签都是基于日期的快照,包含多种部署相关工具,如kubectl、terraform等。如果需要AWS CLI,请查看cimg/aws。GCP和Azure镜像即将推出。
此镜像可与CircleCI的docker执行器一起使用。例如:
jobs: build: docker: - image: cimg/deploy:2022.06.1 steps: - checkout - run: echo "执行部署操作"
在上述示例中,CircleCI Deploy Docker镜像用作主容器。具体使用了标签2022.06.1,表示这是2022年6月的第1个快照。现在可以在此作业中使用镜像中预安装的所有工具。
此镜像每月发布一次。每个月,我们会将主要工具更新到可用的新版本。
变体镜像通常包含相同的基础软件,但有一些额外的修改。
Node.js变体与Deploy镜像相同,但额外安装了Node.js。使用时,在现有cimg/deploy标签后追加-node即可。
jobs: build: docker: - image: cimg/deploy:2022.06.1-node steps: - checkout - run: node --version # 验证Node.js已安装
此镜像的标签方案如下:
cimg/deploy:YYYY.MM.I[-variant]
标签格式为YYYY.MM.I,其中YYYY是4位年份,MM是2位月份,I是该月的第n次发布。通常只有在需要为当月镜像打补丁时,I的值才会变化。
[-variant] - 可选的变体标签。例如,Node.js变体可表示为:cimg/deploy:2022.06.1-node。
可通过本仓库在本地构建和运行镜像。需满足以下要求:
在GitHub上Fork此仓库。获取克隆URL后,需添加--recurse-submodules参数以填充仓库中包含的Git子模块。命令如下:
git clone --recurse-submodules <我的克隆URL>
如果已克隆但未添加子模块,可运行git submodule update --init填充子模块。然后可选择将此仓库添加为自己仓库的上游:
git remote add upstream [***]
使用以下命令克隆项目以填充子模块:
git clone --recurse-submodules ***:CircleCI-Public/cimg-deploy.git
可使用gen-dockerfiles.sh脚本生成Dockerfile。例如,从仓库根目录运行:
./shared/gen-dockerfiles.sh 2022.06.1
生成的Dockerfile将位于./2022.06/Dockerfile。要在本地构建并测试此镜像,可运行:
cd 2022.06 docker build -t test/deploy:2022.06.1 . docker run -it test/deploy:2022.06.1 bash
要像本仓库一样在本地构建Docker镜像,需运行build-images.sh脚本:
./build-images.sh
运行前需先生成Dockerfile。发布CircleCI官方镜像时,此脚本从CircleCI流水线运行,而非本地。
可使用上述各个脚本创建镜像所需的正确文件,然后添加到新的git分支、提交等。包含一个发布脚本以简化此过程。要为此镜像创建正式发布(以1991年4月为例),从仓库根目录运行:
./shared/release.sh 1991.04.2
这将自动创建新的Git分支、生成Dockerfile、暂存更改、提交并推送到GitHub。提交消息将以[release]结尾,CircleCI通过此字符串识别何时将镜像推送到Docker Hub。之后需执行:
主分支构建将随后发布版本。
更改如何整合到镜像中取决于其来源:
构建脚本 - ./shared子模块内的更改在其自己的仓库中进行。要使这些更改影响此镜像,需更新子模块。通常命令如下:
cd shared git pull cd .. git add shared git commit -m "更新子模块以支持foo"
父镜像 - 设计上,父镜像的更改不会出现在现有Deploy镜像中,以确保“确定性”并防止破坏用户构建。新的Deploy镜像将自动获取更改。
如果确实需要将父镜像的更改发布到Deploy镜像中,必须将特定镜像版本作为新镜像构建。这将创建新的Dockerfile,发布后成为新镜像。
Deploy镜像特定更改 - 编辑本仓库中的Dockerfile.template文件将专门修改Deploy镜像。注意,要在本地查看这些更改,需重新运行gen-dockerfiles.sh脚本(见上文)。
我们鼓励为此仓库提交issues和pull requests。为节省您的时间,请注意以下几点:
CircleCI文档 - 官方CircleCI文档网站。
CircleCI配置参考 - 来自CircleCI文档,配置参考页面是最有用的页面之一,列出了.circleci/config.yml中支持的所有键和值。
Docker文档 - 简单项目可能不需要,但深入学***Docker时是很好的资源。
本仓库采用MIT许可证。许可证详见此处。
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429