码头工人和作曲家安装
Posted
技术标签:
【中文标题】码头工人和作曲家安装【英文标题】:docker and composer install 【发布时间】:2017-11-12 04:32:02 【问题描述】:我在使用 docker-compose 安装 php-fpm 容器时遇到问题。
我的文件夹结构如下:
docker-compose.yml
containers/
nginx
Dockerfile
php-fpm
Dockerfile
docker-compose.yml:
version: '3'
services:
nginx:
build:
context: ./containers/nginx
ports:
- 80:80
php-fpm:
build:
context: ./containers/php-fpm
tty: true
在 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
使用当前的 ENTRYPOINT,composer install 似乎卡在“生成自动加载文件”,因为之后没有输出任何内容,并且容器没有出现在 docker ps 列表中。
我怎样才能保持上面的文件夹结构,但仍然能够在构建或运行之后运行 composer install (在这种情况下我需要添加 if 条件)?
【问题讨论】:
【参考方案1】:问题是你需要一个 composer.json。
请按照以下步骤操作:
-
转到Get composer web -> getting started 并创建一个composer.json 文件。
把这个composer.json
文件放在你的目录结构中,如下,例如:
挂载卷(修改您的 docker-compose.yml 文件)以在 php-fpm
docker 中将 composer.json 共享到 /var/www/html
,因为尽管您将 /srv/www/
指定为工作目录,但 composer 在 /var/www/html
中查找.
希望对你有用。
【讨论】:
以上是关于码头工人和作曲家安装的主要内容,如果未能解决你的问题,请参考以下文章