docker compose: браузер не может получить доступ к файлам, доступным для nginx - PullRequest
0 голосов
/ 01 декабря 2019

Я изучаю докер, и мне нужно сделать контейнер для nginx и еще один для php. Видимо это правильно, но я не могу получить доступ к файлам. Я не знаю, делаю ли я что-то неправильно или у меня неправильный файл site.conf.

Мой файл docker-compose.yml:

version: "3.7"

services:

  http:
    hostname: nginx_container
    domainname: mysite.local
    build: ./infrastructure/docker/nginx
    ports:
      - "8085:80"
    volumes:
      - ./src/www:/usr/share/nginx/html
      - ./src/site.conf://etc/nginx/conf.d/default.conf
    restart: always
    networks:
      - code-network

  php:
    build: ./infrastructure/docker/php
    volumes:
      - ./src/www:/usr/share/nginx/html
    restart: always
    networks:
      - code-network

networks:
    code-network:
        driver: bridge

Файл Docker nginxis:

FROM nginx:stable
MAINTAINER foo

Файл php Docker:

FROM php:7.3-fpm
MAINTAINER foo

Файл site.conf:

server {
    listen 80;
    index index.php index.html;
    server_name localhost;
    error_log  /var/log/nginx/error.log;
    access_log /var/log/nginx/access.log;
    root /usr/share/nginx/html;

    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;
    }
}

и в пути src / wwwфайлы index.html, index.php и php-status.php с одинаковым содержимым:

<?php

phpinfo();

Но если я попытаюсь получить доступ к http://localhost:8085 или http://localhost:8085/index.php Я получаю ERR_EMPTY_RESPONSE

И если я попытаюсь http://mysite.local или http://mysite.local:8085 или http://mysite.local/index.php, я получу и ERR_NAME_NOT_RESOLVED

У меня нетизменил файл hosts, но целью является достижение индекса с помощью mysite.local, но если я не могу достичь его с помощью localhost, я не могу достичь его с помощью mysite.local, даже если я добавлю его в файл hosts.

Я целый день пытался ее решить, но что-то упустил и не могу получить доступ к php-info (). Кто-нибудь может мне помочь, пожалуйста?

используемые версии:

  • Docker engine 19.03.5
  • Docker compose 1.24.1
  • Docker machine 0.16. 2
  • macOS Мохаве 10.14.6
...