Docker – 如何在docker-compose.yml中设置Apache + PHP

我使用这个来设置PHP的nginx:

nginx: image: nginx:latest ports: - 8080:80 volumes: - ./code:/code - ./site.conf:/etc/nginx/conf.d/site.conf links: - php php: image: php:7-fpm volumes: - ./code:/code 

但是Apache呢? 如何在docker-compose.yml中设置Apache + PHP?

遵循本指南 :

 version: '2' services: php: build: php ports: - "80:80" - "443:443" volumes: - ./php/www:/var/www/html 

错误:

 ERROR: In file './docker-compose.yml' service 'version' doesn't have any configuration options. All top level keys in your docker-compose.yml must map to a dictionary of configuration options. 

有任何想法吗? 我在Xubuntu 16.04上。

编辑:

在将docker-compose升级到1.9后,我尝试使用下面的这个文件:

 version: '2' services: php: build: php expose: - 9000 volumes: - ./php/www:/var/www/html apache2: image: webdevops/apache:latest args: - PHP_SOCKET=php:9000 volumes: - ./php/www:/var/www/html ports: - 80:80 - 443:443 links: - php 

错误:

 $ sudo docker-compose up -d Building php ERROR: Cannot locate specified Dockerfile: Dockerfile 

docker工人如痛苦!

任何想法如何解决这一问题?

我会selectwebdevops dockerized apache ,因为它具有简单的configuration:

 version: '2' services: php: build: php expose: - 9000 volumes: - ./php/www:/var/www/html apache2: image: webdevops/apache:latest args: - PHP_SOCKET=php:9000 volumes: - ./php/www:/var/www/html ports: - 80:80 - 443:443 links: - php 
  1. 我们需要在当前path中创build一个新的文件夹/ p​​hp / www

  2. 在php文件夹下创build一个文件保存为“Dockerfile”,其中包含如下的引号

“从PHP:5.6-apache运行docker-php-ext-install mysqli”

  1. 将您的docker-compose.yml文件复制到您的“php”文件夹所在的当前文件夹中。

  2. 在www文件夹(/php/www/index.php)下创build一个示例文件“index.php”

  3. 在命令提示符下运行docker-compose up -d

  4. 打开你的浏览器types“localhost”,你可以看到你的示例文件结果。

注意:以上步骤提到了docker-compose.yml文件。