Permissão negada ao criar arquivo storage/logs/laravel.log

[Finalizado Pelo Aluno]

Guilherme Seganzerla
Criador Guilherme Seganzerla 07/01/2022

 Carlos, boa noite tudo bem ?

 

Cara, já não sei mais o que fazer....

Já reiniciei o curso, copiei os seus arquivos e tentei forçar um chmod 777 nas pastas do laravel.log pelo Dockerfile, mas mesmo assim o erro persiste.

o que pode ser ?

 

Mensagem de erro: The stream or file "/var/www/storage/logs/laravel.log" could not be opened in append mode: Failed to open stream: Permission denied

caso ajude, abaixo está o link do rep
github: https://github.com/especializati/laravel-microservice-01

Criador Guilherme Seganzerla 07/01/2022

Link do meu projeto correto

 

 

https://github.com/gseganzerla/micro01/

Guilherme Seganzerla
Manager Carlos Ferreira 07/01/2022

Olá, Guilherme!
Tudo bem?

Qual o seu sistema operacional? Linux?

Experimenta deletar e subir novamente os containers:
docker-compose down
docker-compose up -d

Importante amigo, se tiver no Linux, não rode os comandos com user root

Carlos Ferreira
Criador Guilherme Seganzerla 07/01/2022

Tudo otimo Carlos.

Então, já derrubei os containers e subi dnv diverssas vezes...

 

reiniciai a maquina e ainda continua

Guilherme Seganzerla
Criador Guilherme Seganzerla 07/01/2022

Meu SO e o ubuntu 20.04.03

Guilherme Seganzerla
Manager Carlos Ferreira 07/01/2022

No arquivo docker-compose deixa o nome do user com o mesmo do seu usuário no Ubuntu

E suba novamente os container, recriando dessa vez:
docker-compose up -d --build

Carlos Ferreira
Manager Carlos Ferreira 07/01/2022

 Experimenta acessar o container do root:
docker-compose exec --user=root micro_01 bash

Muda as permissões:
chmod -R 777 storage/

Carlos Ferreira
Criador Guilherme Seganzerla 07/01/2022

Carlos, bom dia

 

Consegui resolver com a sua dica de acessar com o usuario root. Ainda estou me habituando ao docker finalizei seu curso esses dias então ainda não consegui colocar muito em pratica. rsrs

 

No entanto o que eu poderia fazer pra que em cada projeto eu não tenha que acessar como root e aplicar o 777 na pasta de storage.

Eu precisaria mecher no Dockfile 

 

 

Guilherme Seganzerla
Criador Guilherme Seganzerla 07/01/2022

Carlos, vou aproveitar esse ticket q ja esta aberto ok ? 

 

Agora estou assistindo a aula onde vc faz a criação do Model Category

 

ao acessar o container e execultar o php artisan make:model Category -m 

o container me retorna o erro de permissão negada 

as permissões das pastas estão da seguinte maneira: 

 

-rw-rw-r-- 1 1001 1001  913 Dec 22 10:07 User.php (Usei a model de user no exemplo)

 

o que no caso está realmente certo, afinal meu usuario se chama guilherme e este arquivo pertence ao usuario e grupo 1001 respectivamente.

Nesse caso não era para assumir o usuario e o grupo que eu coloquei no docker-compose ? 

 

que no caso e guilherme (Mesmo nome de usuario da minha maquina host) 

 

Estou conseguindo seguir com a aula pois tenho o php instalado na minha maquina host e consegui criar os arquivos

Mas gostaria de entender um pouco melhor o por que estou tendo tantos problemas com permissões

Abaixo vou deixar algumas informações que julgo importantes:

OS: Ubuntu 20.04

User: guilherme
Docke version:  20.10.12, build e91ed57

Docker Compose Version: v2.2.3

Guilherme Seganzerla
Manager Carlos Ferreira 07/01/2022

Que bom que deu certo amigo.

---

O comando você rodou dentro do seu container com o usuário root?
docker-compose exec --user=root micro_01 bash
php artisan make:model Category -m

Todos os comandos devem ser rodados dentro do seu container, porque assim evita problemas de permissões e especialmente, problemas com conexão ao banco de dados (porque o container tem acesso ao outro container de db).

----

Vou subir um novo setup Docker, já com PHP 8 e etc, e estes problemas de permissões também serão resolvidos (independente do S.O.)

Carlos Ferreira
Criador Guilherme Seganzerla 07/01/2022

Carlos, então...

como você não utiliza o root e sim o seu usuario normal durante as aulas eu fui seguindo. Só não entendi muito bem o por que dos problemas de permissão.

 

Bom estou conseguindo seguir com as aulas de qualquer forma

fico aguardando o novo setup do docker para ver se os problemas serão corrigidos :)

 

Guilherme Seganzerla
Manager Carlos Ferreira 07/01/2022

Validei este mesmo setup em outros S.O.s, mac e Linux, em ambos foram um sucesso. Até no Windows, com e sem WSL2 funcionou.

Em alguns casos em particular no Linux alguns alunos tiveram problemas, em alguns casos conseguiram resolver removendo o UID e o user (deixando subir os container com root mesmo)

Fica de olho em: github.com/especializati/setup-docker-laravel/

TMJ amigo!

Carlos Ferreira
Sabe a Solução? Ajude a resolver!

Precisa estar logado para conseguir responder a este ticket!

Clique Aqui Para Entrar!