本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

Composer是一个用PHP编写的PHP依赖管理工具,允许您声明项目所依赖的库,并为您管理(安装/更新)这些依赖关系。
由Rob Bast维护,社区贡献者提供支持。
2.8.12, 2.8, 2, latest2.2.25, 2.21.10.27, 1.10, 1amd64arm32v6arm32v7arm64v8i386ppc64leriscv64s390x$ docker run --rm --interactive --tty \ --volume $PWD:/app \ composer <command>
可以将Composer主目录从主机绑定挂载到容器中,以启用持久缓存或共享全局配置:
$ docker run --rm --interactive --tty \ --volume $PWD:/app \ --volume ${COMPOSER_HOME:-$HOME/.composer}:/tmp \ composer <command>
注意: 这依赖于镜像中默认将
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 \ composer <command>
默认情况下,Composer在容器内以root用户身份运行。这可能导致主机文件系统上的权限问题。您可以通过使用不同的用户运行容器来解决此问题:
$ docker run --rm --interactive --tty \ --volume $PWD:/app \ --user $(id -u):$(id -g) \ composer <command>
详情请参见: [***]
注意: 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 \ composer <command>
注意: 在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) \ composer <command>
此镜像旨在快速运行Composer,无需在主机上安装PHP运行时。不应依赖容器中的PHP版本。我们不提供每个支持的PHP版本的Composer镜像,因为我们不鼓励将Composer用作基础镜像或生产镜像。
我们努力提供尽可能精简的镜像,仅用于运行Composer。有时依赖项或Composer脚本需要某些PHP扩展。
解决建议:
(最佳方案)创建自己的构建镜像并安装Composer。
注意: Docker 17.05引入了多阶段构建,极大简化了这一过程:
COPY --from=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 \ composer install --ignore-platform-reqs --no-scripts
$ docker run --rm --interactive --tty \ --volume $PWD:/app \ composer install
$ docker run --rm --interactive --tty \ --volume $PWD:/app \ composer create-project laravel/laravel my-project
$ docker run --rm --interactive --tty \ --volume $PWD:/app \ composer update
version: '3' services: composer: image: composer:latest volumes: - .:/app - ${COMPOSER_HOME:-$HOME/.composer}:/tmp user: ${UID:-1000}:${GID:-1000} command: install
[***]
library/composer labelrepos/composer/ directory (历史)查看此镜像中包含的软件的许可证信息。
与所有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