我有这些要求
1.使用Ubuntu 16.04作为基本映像
2.容器应具有NginX 1.14.x和PHP 7.x
3.创建一个名为index.html的文件,其中包含一些虚拟内容
4.将此文件添加到以下工作目录中:/ opt / projects
5.使该文件可在http://127.0.0.1:8080上访问
6.使有关PHP的配置()的信息可在http://127.0.0.1:8080/info.php上访问
7. NginX应该写必要的访问和错误日志
8.在主机的/ var / log / nginx
我在互联网上尝试了许多方法,但没有任何工作对我有用。 如何编写此Dockerfile
我已经尝试过了
FROM ubuntu:16.04
RUN apt-get update
RUN apt-get -y upgrade
RUN apt-get install php7.0-fpm php7.0-mysql php7.0-gd php7.0-cli nginx -y
EXPOSE 80
VOLUME ["/var/www/html"]
CMD ["/bin/bash", "/start.sh"]
答案 0 :(得分:0)
创建一个名为my-app
的新目录。
创建具有以下内容的docker-compose.yaml
文件:
version: '2'
services:
web:
image: nginx:latest
ports:
- 8080:8080
volumes:
- ./my-app:/my-app
- ./site.conf:/etc/nginx conf.d/site.conf
- /log/nginx/:/var/log/nginx/
links:
- php
php:
image: php:7-fpm
volumes:
- ./my-app:/my-app
使用以下命令创建一个nginx配置文件site.config
:
server {
index index.php index.html;
server_name php-docker.local;
error_log /var/log/nginx/error.log;
access_log /var/log/nginx/access.log;
root /my-app;
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass php:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
}
}
使用以下方法创建index.php
文件:
<?php
echo phpinfo();
运行
docker-compose up -d
打开浏览器以
localhost:8080
只需将Directory
和File
的名称更改为您需要的名称即可