我正在配置docker-compose.yml文件,我想运行一个包含弹性,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
Run Code Online (Sandbox Code Playgroud)
但这不会安装依赖项。
我有Centos 7和php 7.1。我想安装pecl,我试过了,yum install pecl但它与php5.4. 我怎么能不安装驱动程序的MongoDBpecl或如何解决pecl工作与php7.1?