Я пытаюсь докеризовать свой сайт 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
Это моя установка:
docker-compose.yml https://pastebin.com/raw/V16ctwuj
докер-составить / сайт / Dockerfile https://pastebin.com/raw/pWhf8uzH
докер-составить / сайт / vhost.conf https://pastebin.com/raw/wgZ68e9E
докер-составить / сайт / php.ini https://pastebin.com/raw/neSiaAqw
Есть идеи, почему громкость не устанавливается как www-data
? или это невозможно с использованием хост-машины Windows + виртуального ящика vm + docker ce?
[...] используются параметры монтирования по умолчанию, и все файлы принадлежат пользователю root. Это можно изменить, добавив некоторые параметры монтирования. Параметры передаются с параметром -o. Вы можете использовать несколько опций с одним параметром, разделяя значения запятыми. См. Справочную страницу mount для получения дополнительной информации о том, какие параметры вы можете использовать. В Руководстве пользователя также указаны параметры, совместимые с общими папками. Чтобы смонтировать SF, чтобы вы стали владельцем файлов, используйте эту команду:
sudo mount -t vboxsf -o rw,uid=1000,gid=1000 share ~/host