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

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

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

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

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

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

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

Forbidden You don't have permission to access / on this server.

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

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

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

Есть идеи, почему том не монтируется как www-data? или это невозможно при использовании windows host machine + virtual box vm + docker ce?

0
задан 20 February 2018 в 01:18
1 ответ

С Документы Virtualbox :

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

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

0
ответ дан 5 December 2019 в 06:25

Теги

Похожие вопросы