我正在配置docker-compose.yml
文件,希望运行一个包含Elastic, Redis, Symfony和composer的PHP堆栈。
现在我遇到的问题是,我不知道如何在Docker中使用composer,因为一些Composer特性需要PHP和一些扩展。我不想构建一个新的镜像,并在上面安装Nginx、PHP、Composer和PHP扩展,我希望它们都在不同的镜像中。
目前为止我尝试过的方法如下:
version : '2'
services:
nginx:
image: tutum/nginx
ports:
- "80:80"
volumes:
- ./nginx/default:/etc/nginx/sites-available/default
- ./nginx/default:/etc/nginx/sites-enabled/default
- ./logs/nginx-error.log:/var/log/nginx/error.log
- ./logs/nginx-access.log:/var/log/nginx/access.log
- ./app:/usr/share/nginx/html
phpfpm:
image: php:fpm
ports:
- 9000:9000
volumes:
- ./app:/usr/share/nginx/html
composer:
image: composer/composer:php7
command: install
volumes:
- ./app:/app
elastic2.4.4:
image: elasticsearch:2.4.4
ports:
- 9200:9200
volumes:
- ./esdata1:/usr/share/elasticsearch/data
redis:
image: redis:3.2
ports:
- 6379:6379
但是这不会安装依赖项。