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
-
我们需要在当前path中创build一个新的文件夹/ php / www
-
在php文件夹下创build一个文件保存为“Dockerfile”,其中包含如下的引号
“从PHP:5.6-apache运行docker-php-ext-install mysqli”
-
将您的docker-compose.yml文件复制到您的“php”文件夹所在的当前文件夹中。
-
在www文件夹(/php/www/index.php)下创build一个示例文件“index.php”
-
在命令提示符下运行docker-compose up -d
-
打开你的浏览器types“localhost”,你可以看到你的示例文件结果。
注意:以上步骤提到了docker-compose.yml文件。
- Docker + PHP – 错误:无法连接到Docker守护进程?
- 如何将种子数据放入SQL Server泊坞窗图像?
- “错误:mysqli_connect()没有这样的文件或目录”。 PHP 7 FPM,MariaDB,Nginx,Docker
- 什么是Docker Cloud本地url?
- 多主机Docker在Swarm上组成应用程序
- Docker组合php-fpm,nginx,mysql,并在nginx上使用wp-cli
- 在ruby程序中logging到STDOUT(不在Docker中工作)
- 为什么dockerized mongo会定期下载我的数据库?
- 无法为mysql docker容器设置自定义configuration文件