composer/composerComposer 是 PHP 的依赖管理工具,使用 PHP 编写。它允许您声明项目所依赖的库,并自动管理(安装/更新)这些依赖。
更多关于 Composer 的信息,请参阅 官方文档。
!logo
运行 composer/composer 镜像的基础命令如下:
console$ docker run --rm --interactive --tty \ --volume $PWD:/app \ composer/composer install
参数说明:
--rm:容器退出后自动删除--interactive --tty:交互式终端支持(允许命令行输入)--volume $PWD:/app:将当前目录挂载到容器内 /app 目录(项目根目录)可通过挂载主机的 Composer 主目录到容器,实现缓存持久化或共享全局配置:
console$ docker run --rm --interactive --tty \ --volume $PWD:/app \ --volume ${COMPOSER_HOME:-$HOME/.composer}:/tmp \ composer/composer install
注意:此方法依赖于镜像中默认将
COMPOSER_HOME设置为/tmp的特性。
若遵循 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 或更高版本(参见 docker/for-mac#410)。
当同时使用非 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 扩展,建议按以下优先级解决:
使用多阶段构建将 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
通过 config.platform 声明目标 PHP 版本及扩展:
json{ "config": { "platform": { "php": "MAJOR.MINOR.PATCH", // 例如 "7.4.33" "ext-something": "1" // 声明扩展存在(版本号设为 "1") } } }
通过命令行标志跳过平台检查和脚本执行:
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 中定义的脚本查看包含在此镜像中的软件的许可证信息:Composer 许可证。
与所有 Docker 镜像一样,本镜像可能包含其他软件(如基础发行版的 Bash 等),这些软件可能具有独立许可证。更多自动检测的许可证信息可参见 repo-info 仓库的 composer 目录。
使用预构建镜像时,用户有责任确保对镜像中所有软件的使用符合相关许可证要求。

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像服务
在 Docker Desktop 配置镜像
Docker Compose 项目配置
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
MacOS OrbStack 容器配置
在宝塔面板一键配置镜像
Synology 群晖 NAS 配置
飞牛 fnOS 系统配置镜像
极空间 NAS 系统配置服务
爱快 iKuai 路由系统配置
绿联 NAS 系统配置镜像
QNAP 威联通 NAS 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
免费版仅支持 Docker Hub 访问,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等;免费版仅支持 docker.io。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
来自真实用户的反馈,见证轩辕镜像的优质服务