У меня есть:
+------+ +-------------+
| +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-контейнера:
- Веб (NGINX)
- Приложение (Laravel)
- БД (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/"
что-нибудь, что я пропустил здесь?почему я не могу получить доступ к сети с моего компьютера?