
如果你使用 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,此Docker镜像已不再需要。
您应改用官方https://hub.docker.com/_/docker/。
Dockerfile链接注意:存在https://hub.docker.com/r/tiangolo/docker-with-compose/tags。如需固定使用的Docker镜像版本,可选择此类标签,例如 tiangolo/docker-with-compose:2021-09-17。
https://hub.docker.com/_/docker/内置https://github.com/docker/compose,适用于CI环境(已弃用)。
本镜像的主要用途是帮助需要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 docker.xuanyuan.run/tiangolo/docker-with-compose
然后运行此镜像的容器时,需将Docker sock挂载为宿主卷。
通过将Docker sock挂载为卷,容器内的docker客户端可直接与主机上的Docker(Docker守护进程/服务)通信。
这样,您可以从容器内部发送Docker命令,如拉取、运行或构建新的Docker镜像。
您可能还需要挂载包含所需文件的宿主卷。
例如,假设有如下Dockerfile:
DockerfileFROM docker.xuanyuan.run/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/,以及https://hub.docker.com/r/docker/compose/。
但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.xuanyuan.run/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: docker.xuanyuan.run/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许可证授权。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务