
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
由于https://github.com/docker-library/docker/pull/361%EF%BC%8C%E6%AD%A4Docker%E9%95%9C%E5%83%8F%E5%B7%B2%E4%B8%8D%E5%86%8D%E9%9C%80%E8%A6%81%E3%80%82
您应改用官方https://hub.docker.com/_/docker/%E3%80%82
https://github.com/tiangolo/docker-with-compose/workflows/Test/badge.svg](https://github.com/tiangolo/docker-with-compose/actions?query=workflow%3ATest) https://github.com/tiangolo/docker-with-compose/workflows/Deploy/badge.svg](https://github.com/tiangolo/docker-with-compose/actions?query=workflow%3ADeploy)
Dockerfile链接注意:存在https://hub.docker.com/r/tiangolo/docker-with-compose/tags%E3%80%82%E5%A6%82%E9%9C%80%E5%9B%BA%E5%AE%9A%E4%BD%BF%E7%94%A8%E7%9A%84Docker%E9%95%9C%E5%83%8F%E7%89%88%E6%9C%AC%EF%BC%8C%E5%8F%AF%E9%80%89%E6%8B%A9%E6%AD%A4%E7%B1%BB%E6%A0%87%E7%AD%BE%EF%BC%8C%E4%BE%8B%E5%A6%82 tiangolo/docker-with-compose:2021-09-17。
https://hub.docker.com/_/docker/%E5%86%85%E7%BD%AEhttps://github.com/docker/compose%EF%BC%8C%E9%80%82%E7%94%A8%E4%BA%8ECI%E7%8E%AF%E5%A2%83%EF%BC%88%E5%B7%B2%E5%BC%83%E7%94%A8%EF%BC%89%E3%80%82
本镜像的主要用途是帮助需要docker二进制文件、docker-compose二进制文件的持续集成环境,还可能需要执行其他小型任务,如运行shell脚本或使用curl通知API。
它包含上述两个程序(docker和docker-compose),并允许运行任意shell脚本(与官方Docker Compose镜像不同)。
无需在docker:latest镜像基础上安装docker-compose,可在云数据中心的每次构建中减少约10-15秒的构建时间。在网络连接不如云服务商的环境中,节省的时间会更多。
GitHub仓库:https://github.com/tiangolo/docker-with-compose
Docker Hub镜像:https://hub.docker.com/r/tiangolo/docker-with-compose/
拉取镜像:
console$ docker pull tiangolo/docker-with-compose
然后运行此镜像的容器时,需将Docker sock挂载为宿主卷。
通过将Docker sock挂载为卷,容器内的docker客户端可直接与主机上的Docker(Docker守护进程/服务)通信。
这样,您可以从容器内部发送Docker命令,如拉取、运行或构建新的Docker镜像。
您可能还需要挂载包含所需文件的宿主卷。
例如,假设有如下Dockerfile:
DockerfileFROM nginx RUN echo "Hello World" > /usr/share/nginx/html/index.html
您可以:
Dockerfile的本地目录。console$ docker run -v $(pwd):/app -v /var/run/docker.sock:/var/run/docker.sock tiangolo/docker-with-compose sh -c "cd /app/ && docker build -t custom-nginx ."
存在包含docker二进制文件的官方https://hub.docker.com/_/docker/%EF%BC%8C%E4%BB%A5%E5%8F%8Ahttps://hub.docker.com/r/docker/compose/%E3%80%82
但Docker Compose镜像将docker-compose作为入口点。
因此,无法在该镜像上运行其他命令,如安装软件(例如apt-get install -y curl)。
也无法直接运行docker命令,例如docker login -u ci-user -p $CI_JOB_TOKEN $CI_REGISTRY。
本镜像允许运行任意命令,如shell脚本、docker命令以及Docker Compose命令(如docker-compose build和docker-compose push)。
尽管多个持续集成系统允许在运行实际主脚本前执行前置步骤(如安装软件包),但每次下载和安装Docker Compose会导致构建变慢。
例如,一个简单的GitLab CI文件.gitlab-ci.yml可能如下:
yml# 不要使用此示例文件 image: docker:latest before_script: - apk add --no-cache py-pip - pip install docker-compose - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY ci: script: - docker-compose build - docker-compose up -d - docker-compose exec -T tests run-tests.sh - docker-compose down -v - docker stack deploy -c docker-compose.prod.yml --with-registry-auth prod-example-com
但当基础镜像每次必须下载并安装Docker Compose时,会增加流程时间。具体是以下行:
yml... - apk add --no-cache py-pip - pip install docker-compose ...
本镜像包含Docker Compose,并允许运行其他任意命令。
因此,GitLab CI的.gitlab-ci.yml文件可简化为:
ymlimage: tiangolo/docker-with-compose before_script: - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY ci: script: - docker-compose build - docker-compose up -d - docker-compose exec -T tests run-tests.sh - docker-compose down -v - docker stack deploy -c docker-compose.prod.yml --with-registry-auth prod-example-com
运行速度会更快,因为无需每次安装Docker Compose。
您可以按照DockerSwarm.rocks上的GitLab CI runner指南启动初始GitLab Runner。
同样适用于Travis、Jenkins或其他CI系统。
curl到已安装的可用软件包。PR https://github.com/tiangolo/docker-with-compose/pull/14 由 https://github.com/stratosgear 贡献。本项目基于MIT许可证授权。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。





来自真实用户的反馈,见证轩辕镜像的优质服务