[英]docker and composer install
I am having problems with docker-compose getting php-fpm container up with composer install. 我遇到了docker-compose使用composer install获取php-fpm容器的问题。
I have folder structure like: 我有文件夹结构,如:
docker-compose.yml
containers/
nginx
Dockerfile
php-fpm
Dockerfile
docker-compose.yml: 泊坞窗,compose.yml:
version: '3'
services:
nginx:
build:
context: ./containers/nginx
ports:
- 80:80
php-fpm:
build:
context: ./containers/php-fpm
tty: true
and in php-fpm/Dockerfile: 在php-fpm / Dockerfile中:
FROM php:7.1.5-fpm-alpine
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
WORKDIR /srv/www
ENTRYPOINT composer install --prefer-source --no-interaction --no-autoloader
With current ENTRYPOINT, it seems that composer install gets stuck at "Generating autoload files", because nothing after that is outputted and container does not appear in docker ps list. 使用当前的ENTRYPOINT,似乎作曲家安装卡在“生成自动加载文件”,因为之后没有输出任何内容并且容器没有出现在docker ps列表中。
How can I keep above folder structure, but still able to run composer install after build or run (in this case I would need to add if conditions)? 如何保持上面的文件夹结构,但仍然能够在构建或运行后运行composer install(在这种情况下,我需要添加if条件)?
The problem is that you need a composer.json. 问题是你需要一个composer.json。
Please, follow these steps: 请按照以下步骤操作:
Put this composer.json
file in your dir structure as follows, for example: 将此
composer.json
文件放在dir结构中,如下所示:
Mount volume (modifying your docker-compose.yml file) to share composer.json to /var/www/html
in php-fpm
docker, because although you specify /srv/www/
as workdir, composer looks up in /var/www/html
. 装载卷(修改你的docker-compose.yml文件)在
php-fpm
docker中将composer.json共享到/var/www/html
,因为虽然你指定/srv/www/
as workdir,但是composer在/var/www/html
查找/var/www/html
。
version: '3' services: nginx: build: context: ./containers/nginx ports: - "80:80" php-fpm: build: context: ./containers/php-fpm tty: true volumes: - ./composer/composer.json:/var/www/html/composer.json
I hope it's useful for you. 我希望它对你有用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.