Невозможно открыть основной скрипт (в доступе отказано) - PullRequest
0 голосов
/ 09 июня 2018

У меня есть:

+------+                                                         +-------------+
|      +NIC1 (192.168.1.100) <--> Router <--> (192.168.1.2) NIC1 +             |
|  PC  |                                                         |     DSM     |
|      +NIC2 (10.10.0.100) <--Peer-2-Peer---> (10.10.0.2)   NIC2 +             |
+------+                                                         | [4xDOCKERs] |
                                                                 |(172.17.0.x) |
                                                                 +-------------+

* Я слежу за этим уроком: https://medium.com/@shakyShane/laravel-docker-part-1-setup-for-development-e3daaefaf3c

урок поможет вам построить 3 Docker-контейнера:

  1. Веб (NGINX)
  2. Приложение (Laravel)
  3. БД (MySQL)

Мой докер составляет:

version: '2'

services:

  # The Application
  app:
    network_mode: bridge
    build:
      context: ./
      dockerfile: app.dockerfile
    working_dir: /var/www
    volumes:
      - /volume3/homes/my.name/www/:/var/www
    environment:
      - "DB_PORT=3306"
      - "DB_HOST=database"

  # The Web Server
  web:
    network_mode: bridge
    build:
      context: ./
      dockerfile: web.dockerfile
    working_dir: /var/www
    volumes_from:
      - app
    ports:
      - 8080:80
    links:
      - app
    depends_on:
      - app

  # The Database
  database:
    network_mode: bridge
    image: mysql:5.6
    volumes:
      - dbdata:/var/lib/mysql
    environment:
      - "MYSQL_DATABASE=homestead"
      - "MYSQL_USER=homestead"
      - "MYSQL_PASSWORD=secret"
      - "MYSQL_ROOT_PASSWORD=secret"
    ports:
      - "33061:3306"

volumes:
  dbdata:

приложение.dockerfile:

FROM php:7.2.6-fpm

RUN apt-get update && apt-get install -y libmcrypt-dev \
  mysql-client libmagickwand-dev --no-install-recommends \
  && pecl install imagick \
  && pecl install mcrypt-1.0.1 \
  && docker-php-ext-enable mcrypt \
  && docker-php-ext-enable imagick \
  && docker-php-ext-install pdo_mysql

web.dockerfile:

FROM nginx:1.10

ADD vhost.conf /etc/nginx/conf.d/default.conf

vhost.conf:

server {
  listen 80;
  index index.php index.html;
  root /var/www/public;

  location / {
    try_files $uri /index.php?$args;
  }

  location ~ \.php$ {
    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    fastcgi_pass app:9000;
    fastcgi_index index.php;
    include fastcgi_params;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    fastcgi_param PATH_INFO $fastcgi_path_info;
  }
}

Результат, когда я пытался получить доступ к сети с моего компьютера с помощью URLhttp://10.10.0.2:8080:

в браузере:

Доступ запрещен.

Журнал приложения:

172.17.0.5 - 09 / июнь / 2018: 17: 24: 18 +0000 «GET /index.php» 403 [09-Jun-2018 17:24:18] ВНИМАНИЕ: [пул www] ребенок 8 сказал в stderr: «ОШИБКА: Невозможно открыть основной сценарий: /var/www/public/index.php (В доступе отказано) "

Веб-журнал:

2018/06/09 17: 23: 18 [ошибка] 7 # 7: * 3 FastCGI отправил в stderr: «Невозможно открыть основной скрипт: / var / www / p ublic / index.php (Permission denied)» при чтении заголовка ответа из upstream, клиент: 172.17.0.1, сервер:, запрос: «GET / HTTP / 1.1», восходящий поток: «fastcgi: //172.17.0.4: 9000», хост: «10.10.0.2:8080"
172.17.0.1- - [09 / Июн / 2018: 17: 23: 18 +0000] "GET / HTTP / 1.1" 403 25 "-" "Mozilla / 5.0 (Windows NT 10.0;Win64;x64) AppleWebKit / 537,36 (KHTML, как Gecko) Chrome / 67.0.3396.79 Safari / 537.36 "" - "
172.17.0.1 - - [09 / Jun / 2018: 17: 23: 18 +0000]" GET / favicon.ico HTTP / 1.1 "403 571" http://10.10.0.2:8080 / "" Mozilla / 5.0 (Windows NT 10.0; Win64; x64) AppleWebKit / 537.36 (KHTML, как Gecko) Chrome / 67.0.3396.79 Safari / 537.36 "" - "
2018/06/09 17:23:18 [error] 7 # 7: * 3 open ()" /var/www/public/favicon.ico "не удалось (13: разрешениеотказано), клиент: 172.17.0.1, сервер:, запрос: «GET /favicon.ico HTTP / 1.1», хост: «10.10.0.2:8080», ссылка r: «http://10.10.0.2:8080/"

что-нибудь, что я пропустил здесь?почему я не могу получить доступ к сети с моего компьютера?

...