Назад | Перейти на главную страницу

Dockerise приложение laravel - получение разрешения запрещено на сервере apache

Я пытаюсь докеризовать свой сайт laravel. Я на Windows 10 и панель инструментов докера у меня не работает (относительный путь плохо монтируется).

Итак, я решил настроить сервер Virtualbox Ubuntu 16.x и установить docker CE внутри виртуальной машины. Затем я добавил свой C:\Projects на моем хост-компьютере Windows в качестве общей папки в моей виртуальной машине Ubuntu. Затем в моей виртуальной машине я установил гостевые дополнения, чтобы общая папка появилась на моей виртуальной машине под /media/sf_Projects/

Наконец, я добавил свою учетную запись без полномочий root latheesan к vboxsf используя эту команду: sudo adduser latheesan vboxsf и создал символическую ссылку на /media/sf_Project к /home/latheesan/Projects (для легкого доступа).

После перезагрузки виртуальной машины Ubuntu я мог получить доступ к содержимому общей папки как пользователь latheesan.

Итак, я клонировал свой проект на хост-машине в: C:\Projects\mysite.io реж.

Затем я ssh'ed в свою виртуальную машину виртуального бокса Ubuntu (работающую с Docker CE) и запустил свой docker-compose build && docker-compose up -d команда. Все работало, контейнеры были подняты. Когда я посетил свой сайт, работающий в контейнере докеров, я получил эту ошибку от apache:

Запрещено У вас нет разрешения на доступ к этому серверу.

Итак, я запустил интерактивную оболочку в свой контейнер, и похоже, что каталог сайта смонтирован как root, а не www-data. Возможно, поэтому ошибка.

Вот все журналы моей работы на моем хост-компьютере и контейнере: https://pastebin.com/raw/M7Jq0CgP

Это моя установка:

Есть идеи, почему громкость не устанавливается как www-data? или это невозможно с использованием хост-машины Windows + виртуального ящика vm + docker ce?

Из документы Virtualbox:

[...] используются параметры монтирования по умолчанию, и все файлы принадлежат пользователю root. Это можно изменить, добавив некоторые параметры монтирования. Параметры передаются с параметром -o. Вы можете использовать несколько опций с одним параметром, разделяя значения запятыми. См. Справочную страницу mount для получения дополнительной информации о том, какие параметры вы можете использовать. В Руководстве пользователя также указаны параметры, совместимые с общими папками. Чтобы смонтировать SF, чтобы вы стали владельцем файлов, используйте эту команду:

sudo mount -t vboxsf -o rw,uid=1000,gid=1000 share ~/host