R.P*_*R.P 5 composer-php docker docker-compose
我在使用 docker-compose 安装 php-fpm 容器时遇到了问题。
我的文件夹结构如下:
docker-compose.yml
containers/
nginx
Dockerfile
php-fpm
Dockerfile
Run Code Online (Sandbox Code Playgroud)
docker-compose.yml:
version: '3'
services:
nginx:
build:
context: ./containers/nginx
ports:
- 80:80
php-fpm:
build:
context: ./containers/php-fpm
tty: true
Run Code Online (Sandbox Code Playgroud)
在 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
Run Code Online (Sandbox Code Playgroud)
使用当前的 ENTRYPOINT,似乎 composer install 卡在“生成自动加载文件”上,因为之后没有任何输出并且容器没有出现在docker ps列表中。
如何保持上述文件夹结构,但仍然能够在构建或运行后运行 composer install (在这种情况下,我需要添加 if 条件)?
mul*_*g0r -2
问题是你需要一个composer.json。
请按照以下步骤操作:
将此composer.json文件放入您的目录结构中,如下所示:
挂载卷(修改您的 docker-compose.yml 文件)以将composer.json共享到docker/var/www/html中php-fpm,因为尽管您指定/srv/www/为workdir,但composer会在.json中查找/var/www/html。
版本:'3'
服务:
nginx:
建造:
上下文:./containers/nginx
端口:
- “80:80”
PHP-FPM:
建造:
上下文:./containers/php-fpm
蒂:正确
卷:
- ./composer/composer.json:/var/www/html/composer.json
我希望它对你有用。
| 归档时间: |
|
| 查看次数: |
1231 次 |
| 最近记录: |