本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
注意: 这是 Composer 官方镜像 的 arm64v8 架构构建的"per-architecture"仓库——更多信息请参见官方镜像文档中的 "除 amd64 外的架构?" 和官方镜像 FAQ 中的 "Git 中镜像的源已更改,现在该怎么办?"。
维护者:
Rob Bast,以及来自社区的 贡献者。
获取帮助:
Docker 社区 Slack、Server Fault、Unix & Linux 或 Stack Overflow
Dockerfile 链接2.8.12, 2.8, 2, latest
2.2.25, 2.2
1.10.27, 1.10, 1
提交 issue 的位置:
[***]
支持的架构: (更多信息)
amd64、arm32v6、arm32v7、arm64v8、i386、ppc64le、riscv64、s390x
已发布的镜像 artifact 详情:
repo-info 仓库的 repos/composer/ 目录 (历史记录)
(镜像元数据、传输大小等)
镜像更新:
official-images 仓库的 library/composer 标签
official-images 仓库的 library/composer 文件 (历史记录)
本描述的来源:
docs 仓库的 composer/ 目录 (历史记录)
Composer 是一个用 PHP 编写的 PHP 依赖管理工具。它允许您声明项目所依赖的库,并为您管理(安装/更新)这些库。
您可以在 官方文档 中了解更多关于 Composer 的信息。
!logo
$ docker run --rm --interactive --tty \ --volume $PWD:/app \ arm64v8/composer <命令>
您可以将主机的 Composer 主目录绑定挂载到容器中,以启用持久化缓存或共享全局配置:
$ docker run --rm --interactive --tty \ --volume $PWD:/app \ --volume ${COMPOSER_HOME:-$HOME/.composer}:/tmp \ arm64v8/composer <命令>
注意: 这依赖于镜像中默认将 COMPOSER_HOME 值设置为 /tmp 这一事实。
如果您的环境遵循 XDG 规范:
$ 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 \ arm64v8/composer <命令>
默认情况下,Composer 在容器内以 root 用户运行。这可能导致主机文件系统上的权限问题。您可以通过以其他用户身份运行容器来解决此问题:
$ docker run --rm --interactive --tty \ --volume $PWD:/app \ --user $(id -u):$(id -g) \ arm64v8/composer <命令>
详见:[***]
注意:Docker for Mac 的行为有所不同,此提示可能不适用于 Docker for Mac 用户。
当需要访问私有仓库时,您需要共享已配置的凭据,或将 ssh-agent 套接字挂载到运行中的容器内:
$ 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 \ arm64v8/composer <命令>
注意: 在 OSX 上,这需要 Docker For Mac v2.2.0.0 或更高版本,详见 docker/for-mac#410。
当结合使用私有仓库和以其他用户身份运行 Composer 时,可能会遇到用户不存在的错误(由 ssh 抛出)。要解决此问题,将主机的 passwd 和 group 文件(只读)绑定挂载到容器中:
$ 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) \ arm64v8/composer <命令>
本镜像旨在快速运行 Composer,无需在主机上安装 PHP 运行时。您不应依赖容器中的 PHP 版本。我们不提供每个受支持 PHP 版本的 Composer 镜像,因为我们不鼓励将 Composer 用作基础镜像或生产镜像。
我们努力提供尽可能精简的镜像,仅用于运行 Composer。有时依赖项或 Composer 脚本 需要特定 PHP 扩展的支持。
建议:
(最佳)创建自己的构建镜像并在其中安装 Composer。
注意: Docker 17.05 引入了多阶段构建,极大简化了此过程:
COPY --from=arm64v8/composer /usr/bin/composer /usr/bin/composer
(替代方案)在 composer.json 中指定目标平台 / 扩展:
{ "config": { "platform": { "php": "MAJOR.MINOR.PATCH", "ext-something": "MAJOR.MINOR.PATCH" } } }
(不推荐)向 install 或 update 传递 --ignore-platform-reqs 和/或 --no-scripts 标志:
$ docker run --rm --interactive --tty \ --volume $PWD:/app \ arm64v8/composer install --ignore-platform-reqs --no-scripts
查看此镜像中包含的软件的许可证信息。
与所有 Docker 镜像一样,这些镜像可能还包含其他软件,这些软件可能采用其他许可证(例如基础发行版中的 Bash 等,以及所包含的主要软件的任何直接或间接依赖项)。
一些能够自动检测到的额外许可证信息可能位于 repo-info 仓库的 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 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429