在docker容器中安装composer

问题描述 投票:0回答:2

我正在使用 docker 作为小型 PHP 服务器,在其中我从 tutum/lamp:latest 构建了图像。我需要使用协议缓冲区,为此我首先需要安装作曲家。

我尝试通过执行以下操作来安装它:

docker pull composer/composer

docker run --rm -v $(pwd):/app composer/composer install

我有这些文件,包括位于

/app
中的composer.json,每次启动映像时它们都会从我的主机移动到那里。但是,我仍然收到
composer can't find a file composer.json in /app
的错误,这非常烦人。我使用this作为指导。

php docker composer-php protocol-buffers
2个回答
1
投票

Composer 命令的

/app
部分与应用程序文件所在的实际路径无关。

在主机中(不在任何容器内),您只需将当前目录更改为composer.json

所在的应用程序目录,然后按原样运行给定的命令(无论应用程序文件的实际路径是什么) ).

或者,鉴于

composer/composer

 容器已被弃用,这将是一个更好的命令:
docker run --rm -v $PWD:/app composer install
来自此处)。


0
投票

./docker/Dockerfile

FROM php:8.2-zts-alpine3.17 COPY --from=composer/composer /composer /usr/bin/composer RUN apk add bash

./docker-compose.yml

version: "3.8" services: php8.2-template: build: context: "./docker" working_dir: "/application" volumes: - "./:/application" ports: - "80:80" command: "php -S 0.0.0.0:80 /application/src/server.php"
    
© www.soinside.com 2019 - 2024. All rights reserved.