如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Composer 是 PHP 的依赖管理工具,使用 PHP 编写。它允许您声明项目所依赖的库,并自动管理(安装/更新)这些依赖。
更多关于 Composer 的信息,请参阅 官方文档。
!https://raw.githubusercontent.com/docker-library/docs/58f7363e6cfa78f8cd54af16eab51c63c***/composer/logo.png
运行 composer/composer 镜像的基础命令如下:
console$ docker run --rm --interactive --tty \ --volume $PWD:/app \ composer/composer install
参数说明:
--rm:容器退出后自动删除--interactive --tty:交互式终端支持(允许命令行输入)--volume $PWD:/app:将当前目录挂载到容器内 /app 目录(项目根目录)可通过挂载主机的 Composer 主目录到容器,实现缓存持久化或共享全局配置:
默认配置(非 XDG 规范)
console$ docker run --rm --interactive --tty \ --volume $PWD:/app \ --volume ${COMPOSER_HOME:-$HOME/.composer}:/tmp \ composer/composer install
注意:此方法依赖于镜像中默认将
COMPOSER_HOME设置为/tmp的特性。
XDG 规范兼容配置
若遵循 XDG 规范,可通过环境变量指定缓存与配置目录:
console$ docker run --rm --interactive --tty \ --env COMPOSER_HOME \ --env COMPOSER_CACHE_DIR \ --volume ${COMPOSER_HOME:-$HOME/.config/composer}:$COMPOSER_HOME \ --volume ${COMPOSER_CACHE_DIR:-$HOME/.cache/composer}:$COMPOSER_CACHE_DIR \ --volume $PWD:/app \ composer/composer install
环境变量说明:
COMPOSER_HOME:Composer 全局配置目录COMPOSER_CACHE_DIR:依赖包缓存目录默认情况下,Composer 在容器内以 root 用户运行,可能导致主机文件系统权限问题。可通过指定用户解决:
console$ docker run --rm --interactive --tty \ --volume $PWD:/app \ --user $(id -u):$(id -g) \ composer/composer install
参数说明:
--user $(id -u):$(id -g):使用当前主机用户的 UID 和 GID 运行容器(需系统支持 id 命令)访问私有仓库时,需共享 SSH 凭据或挂载 SSH 代理套接字:
基础私有仓库访问
console$ eval $(ssh-agent); \ docker run --rm --interactive --tty \ --volume $PWD:/app \ --volume $SSH_AUTH_SOCK:/ssh-auth.sock \ --env SSH_AUTH_SOCK=/ssh-auth.sock \ composer/composer install
注意:macOS 用户需使用 Docker For Mac v2.2.0.0 或更高版本(参见 https://github.com/docker/for-mac/issues/410%EF%BC%89%E3%80%82
结合非 root 用户的私有仓库访问
当同时使用非 root 用户和私有仓库时,需挂载主机的用户信息文件避免 SSH 用户不存在错误:
console$ eval $(ssh-agent); \ docker run --rm --interactive --tty \ --volume $PWD:/app \ --volume $SSH_AUTH_SOCK:/ssh-auth.sock \ --volume /etc/passwd:/etc/passwd:ro \ --volume /etc/group:/etc/group:ro \ --env SSH_AUTH_SOCK=/ssh-auth.sock \ --user $(id -u):$(id -g) \ composer/composer install
参数说明:
--volume /etc/passwd:/etc/passwd:ro:只读挂载主机用户信息--volume /etc/group:/etc/group:ro:只读挂载主机用户组信息本镜像旨在无需主机 PHP 环境即可快速运行 Composer,不应依赖容器内的 PHP 版本。镜像未针对每个 PHP 版本提供单独标签,因不建议将其用作基础镜像或生产环境镜像。
若依赖或 Composer 脚本需要特定 PHP 扩展,建议按以下优先级解决:
1. 创建自定义构建镜像(推荐)
使用多阶段构建将 Composer 集成到您的 PHP 镜像中(Docker 17.05+ 支持):
dockerfile# 方法 1:从完整镜像复制 COPY --from=composer/composer:latest /usr/bin/composer /usr/bin/composer # 方法 2:从二进制-only 标签复制(更精简) COPY --from=composer/composer:latest-bin /composer /usr/bin/composer
2. 在 composer.json 中指定平台配置
通过 config.platform 声明目标 PHP 版本及扩展:
json{ "config": { "platform": { "php": "MAJOR.MINOR.PATCH", // 例如 "7.4.33" "ext-something": "1" // 声明扩展存在(版本号设为 "1") } } }
3. 忽略平台要求(不推荐)
通过命令行标志跳过平台检查和脚本执行:
console$ docker run --rm --interactive --tty \ --volume $PWD:/app \ composer/composer install --ignore-platform-reqs --no-scripts
标志说明:
--ignore-platform-reqs:忽略 PHP 版本及扩展要求--no-scripts:不执行 composer.json 中定义的脚本查看包含在此镜像中的软件的许可证信息:https://github.com/composer/composer/blob/master/LICENSE%E3%80%82
与所有 Docker 镜像一样,本镜像可能包含其他软件(如基础发行版的 Bash 等),这些软件可能具有独立许可证。更多自动检测的许可证信息可参见 https://github.com/docker-library/repo-info/tree/master/repos/composer%E3%80%82
使用预构建镜像时,用户有责任确保对镜像中所有软件的使用符合相关许可证要求。
以下是 composer/composer 相关的常用 Docker 镜像,适用于 不同场景 等不同场景:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。

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