
mwalbeck/composermwalbeck/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 缓存卷(可选,加速依赖下载) |
若使用中遇到问题,可通过以下渠道反馈:

manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务