mwalbeck/composer 是一个容器化的 Composer 运行环境,用于 PHP 项目的依赖管理。该镜像将 Composer 工具封装为 Docker 容器,无需在本地系统直接安装 Composer,即可通过容器化方式执行依赖安装、更新、版本控制等操作,确保开发环境与生产环境的一致性。
install、update、require、dump-autoload 等核心命令。amd64、arm64,具体以 Docker Hub 镜像标签为准)。vendor 目录、composer.json/composer.lock 文件及缓存数据。:2.5.5),为不同项目匹配特定 Composer 版本。docker run 命令)在 PHP 项目根目录(包含 composer.json)执行以下命令,安装依赖至 vendor 目录:
bashdocker run --rm -v $(pwd):/app mwalbeck/composer install
--rm:命令执行后自动删除容器,避免残留。-v $(pwd):/app:将当前目录(宿主机项目根目录)挂载至容器内 /app 工作目录。更新项目依赖至最新版本(依据 composer.json 约束):
bashdocker run --rm -v $(pwd):/app mwalbeck/composer update
直接传递 Composer 命令参数,例如查看版本或添加依赖:
bash# 查看 Composer 版本 docker run --rm mwalbeck/composer --version # 添加依赖包(如 monolog/monolog) docker run --rm -v $(pwd):/app mwalbeck/composer require monolog/monolog
在 docker-compose.yml 中集成 Composer 服务,适用于多服务项目(如 PHP + Nginx + 数据库):
yamlversion: '3.8' services: composer: image: mwalbeck/composer volumes: # 挂载项目目录至容器工作目录 - ./php-project:/app # 持久化 Composer 缓存(可选,加速重复依赖安装) - composer_cache:/root/.composer/cache environment: # 国内用户可配置镜像源加速下载(如阿里云 Composer 镜像) - COMPOSER_MIRROR_URL=[***] # 自定义用户 ID/组 ID(解决宿主机文件权限问题,需与宿主机用户一致) - USER_ID=1000 - GROUP_ID=1000 volumes: # 定义缓存卷(自动创建,无需手动初始化) composer_cache:
使用方式:在 docker-compose.yml 所在目录执行:
bash# 安装依赖 docker-compose run --rm composer install # 更新依赖 docker-compose run --rm composer update
| 环境变量名 | 说明 | 默认值 |
|---|---|---|
COMPOSER_HOME | Composer 配置文件与缓存的根目录 | /root/.composer |
COMPOSER_CACHE_DIR | 依赖缓存目录,默认继承 $COMPOSER_HOME/cache | $COMPOSER_HOME/cache |
COMPOSER_MIRROR_URL | Composer 镜像源 URL(国内用户可配置,如阿里云、腾讯云镜像) | ***源 |
USER_ID | 容器内运行 Composer 的用户 ID(需与宿主机用户 ID 一致,避免权限问题) | 0(root 用户) |
GROUP_ID | 容器内运行 Composer 的用户组 ID | 0(root 组) |
| 宿主机路径 | 容器内路径 | 说明 |
|---|---|---|
./php-project | /app | 项目根目录(需包含 composer.json) |
composer_cache | /root/.composer/cache | Composer 缓存卷(可选,加速依赖下载) |
若使用中遇到问题,可通过以下渠道反馈:

来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 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 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429