docker容器里如何使用composer_在Docker容器化环境中高效使用composer的实践

25次阅读

1、使用官方Composer镜像确保版本一致,运行docker run安装依赖;2、在自定义PHP镜像中通过RUN指令集成Composer并安装依赖;3、采用多阶段构建分离构建与运行环境,减小镜像体积并提升安全性。

docker容器里如何使用composer_在Docker容器化环境中高效使用composer的实践

如果您在Docker容器中使用Composer管理PHP依赖时遇到性能或配置问题,可能是由于镜像配置不当或依赖安装方式不合理所致。以下是优化和正确使用Composer的实践方法。

本文运行环境:Docker Desktop,Ubuntu 22.04

一、使用官方Composer镜像进行依赖安装

利用官方提供的Composer镜像可以确保工具版本一致性,并避免手动配置PHP环境的复杂性。该方法适合在CI/CD流程中独立执行依赖解析。

1、拉取官方Composer镜像:docker pull composer:latest

2、在项目根目录下运行以下命令安装依赖:docker run –rm -v $(pwd):/app composer install

3、若需指定生产环境安装,添加参数:–no-dev。

二、在自定义PHP镜像中集成Composer

将Composer嵌入自定义Docker镜像可实现应用镜像的一体化构建与部署,适用于需要频繁构建的场景。

1、在Dockerfile中添加安装Composer的指令:

RUN curl -sS https://getcomposer.org/installer | php — –install-dir=/usr/local/bin –filename=composer

2、构建镜像时自动执行依赖安装:

docker容器里如何使用composer_在Docker容器化环境中高效使用composer的实践

绘蛙AI视频

绘蛙推出的AI模特视频生成工具

docker容器里如何使用composer_在Docker容器化环境中高效使用composer的实践88

查看详情 docker容器里如何使用composer_在Docker容器化环境中高效使用composer的实践

COPY composer.json composer.lock ./

3、运行 RUN composer install –no-scripts –no-autoloader –no-dev 以减少镜像体积。

三、利用多阶段构建优化最终镜像

通过多阶段构建分离依赖安装环境与运行环境,有效减小最终镜像体积并提升安全性。

1、第一阶段使用带有Composer的完整PHP镜像:

FROM php:8.2-cli AS builder

2、安装Composer并执行依赖解析:

RUN docker run –rm -v $(pwd):/app composer install –optimize-autoloader –classmap-authoritative

3、第二阶段复制生成的vendor目录到轻量基础镜像中:

COPY –from=builder /app/vendor /app/vendor

以上就是composer docker php js json app ubuntu 工具 curl php composer json cURL copy docker https ubuntu

composer docker php js json app ubuntu 工具 curl php composer json cURL copy docker https ubuntu

text=ZqhQzanResources