Как я могу установить NGINX и PHP для обслуживания файлов с помощью DOCKER - PullRequest
0 голосов
/ 07 декабря 2018

У меня есть следующие требования

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. Смонтировать доступ и журнал ошибок NginX в хосте / 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"]

1 Ответ

0 голосов
/ 08 декабря 2018

создайте новый каталог с именем 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 имена для того, что вам нужно, чтобы они были

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...