Dockerize um aplicativo laravel - obtendo permissão negada no servidor Apache

Dockerize um aplicativo laravel - obtendo permissão negada no servidor Apache

Estou tentando encaixar meu site laravel. estou ligadoJanelas 10e a caixa de ferramentas do docker não funciona muito bem para mim (o caminho relativo não monta bem).

Então, decidi configurar um servidor Virtualbox Ubuntu 16.x e instalar o docker CE dentro da VM. Em seguida, adicionei C:\Projectsminha máquina host do Windows como uma pasta compartilhada em minha VM Ubuntu. Então, dentro da minha VM, instalei o Guest Additions, para que a pasta compartilhada aparecesse na minha VM em/media/sf_Projects/

Por último, adicionei minha conta não root latheesanusando vboxsfeste comando: sudo adduser latheesan vboxsfe criei um link simbólico para /media/sf_Project( /home/latheesan/Projectspara fácil acesso).

Depois de reiniciar o Ubuntu VM, consegui acessar o conteúdo da pasta compartilhada como usuário latheesan.

Então, clonei meu projeto na minha máquina host em: C:\Projects\mysite.iodir.

Então eu entrei em minha VM virtualbox do Ubuntu (executando Docker CE) e executei meu docker-compose build && docker-compose up -dcomando. Tudo funcionou e os contêineres estavam prontos. Quando visitei meu site em execução no contêiner do Docker, recebi este erro do Apache:

Proibido Você não tem permissão para acessar / neste servidor.

Então, iniciei um shell interativo em meu contêiner e parece que o diretório do site está montado como root, não como www-data. Talvez seja por isso que o erro.

Aqui estão todos os logs da minha operação na minha máquina host e contêiner:https://pastebin.com/raw/M7Jq0CgP

Esta é a minha configuração:

Alguma idéia de por que o volume não está aumentando www-data? ou isso não é possível usando máquina host windows + caixa virtual vm + docker ce?

Responder1

Deos documentos do Virtualbox:

[...] as opções de montagem padrão são usadas e todos os arquivos pertencem ao root. Isso pode ser alterado adicionando algumas opções de montagem. As opções são passadas com o parâmetro -o. Você pode usar várias opções com um parâmetro, separe os valores com vírgula. Consulte a página de manual do mount para obter mais informações sobre quais opções você pode usar. O Manual do Usuário também indica as opções compatíveis com as Pastas Compartilhadas. Para montar o SF para que você seja o proprietário dos arquivos, use este comando:

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

informação relacionada