[PROMOÇÃO] Assine com + 30% de desconto ANUAL MENSAL (últimas horas)
Willy Camargo
Criador Willy Camargo 31/01/2024

Estou enfrentando um erro ao instalar as dependencias 'composer install'

Clonei a branch correta, já revisei varias vezes o meu Dockerfile, porém o erro persiste.

 

'file_put_contents(./composer.lock): Failed to open stream: Permission denied'

 

Sei que é um erro de permissão, eu consigo executar o composer install normalmente se eu executar o container como root docker compose exec  --user=root  laravel-app bash

Porém quando faço isso e altero algum arquivo pelo vscode ele não me deixa salvar. Aparece uma aba no vscode pedindo para eu tentar com sudo, funciona, porem todo arquivo que eu alterar e salvar tenho que colocar a senha.

 

Tem alguma outra forma de resolver isso?

Manager Carlos Ferreira 31/01/2024

Olá, Willy!

Tudo bem?

 

Qual o seu sistema operacional?

 

Qual o nome do usuário no Dockerfile?

 

Fora do container, liste as permissões por favor:

ls -la

Carlos Ferreira
Criador Willy Camargo 31/01/2024

O sistema é um ubuntu

no Dockerfile ta como alessandro

ls -la                                  

total 112

drwxrwxr-x 14 alessandro alessandro 4096 jan 31 09:44 .

drwxrwxr-x  4 alessandro alessandro 4096 jan 31 08:50 ..

drwxrwxr-x  7 alessandro alessandro 4096 jan 31 08:50 app

-rwxrwxr-x  1 alessandro alessandro 1686 jan 31 08:50 artisan

drwxrwxr-x  3 alessandro alessandro 4096 jan 31 08:50 bootstrap

-rw-rw-r--  1 alessandro alessandro 1881 jan 31 08:50 composer.json

drwxrwxr-x  2 alessandro alessandro 4096 jan 31 08:50 config

drwxrwxr-x  5 alessandro alessandro 4096 jan 31 08:50 database

drwxr-xr-x  3 alessandro alessandro 4096 jan 31 09:00 .docker

drwxrwxr-x  4 alessandro alessandro 4096 jan 31 08:50 docker

-rw-rw-r--  1 alessandro alessandro 1250 jan 31 09:49 docker-compose.yml

-rw-rw-r--  1 alessandro alessandro  951 jan 31 09:41 Dockerfile

-rw-rw-r--  1 alessandro alessandro  257 jan 31 08:50 .editorconfig

-rw-rw-r--  1 alessandro alessandro 1070 jan 31 09:25 .env

-rw-rw-r--  1 alessandro alessandro 1066 jan 31 08:50 .env.example

drwxrwxr-x  8 alessandro alessandro 4096 jan 31 10:03 .git

-rw-rw-r--  1 alessandro alessandro  186 jan 31 08:50 .gitattributes

-rw-rw-r--  1 alessandro alessandro  216 jan 31 08:50 .gitignore

-rw-rw-r--  1 alessandro alessandro  248 jan 31 08:50 package.json

-rw-rw-r--  1 alessandro alessandro 1146 jan 31 08:50 phpunit.xml

drwxrwxr-x  2 alessandro alessandro 4096 jan 31 08:50 public

-rw-rw-r--  1 alessandro alessandro 1006 jan 31 08:50 README.md

drwxrwxr-x  5 alessandro alessandro 4096 jan 31 08:50 resources

drwxrwxr-x  2 alessandro alessandro 4096 jan 31 08:50 routes

drwxrwxr-x  5 alessandro alessandro 4096 jan 31 08:50 storage

-rw-rw-r--  1 alessandro alessandro  120 jan 31 08:50 .styleci.yml

drwxrwxr-x  4 alessandro alessandro 4096 jan 31 08:50 tests

-rw-rw-r--  1 alessandro alessandro  263 jan 31 08:50 vite.config.js

Willy Camargo
Manager Carlos Ferreira 31/01/2024

Este comando você rodou dentro do container docker, certo?

O usuário do sistema ubuntu é qual? Será necessário fora do container mudar a permissão dos arquivos.

Carlos Ferreira
Criador Willy Camargo 31/01/2024

Esse comando foi fora do container, foi no mesmo diretorio do app laravel, mas fora do container.

O usuario é alessandro mesmo.

Rodei esse mesmo comando dentro do container

 

alessandro@dcb9ee89bceb:/var/www$ ls -la

total 116

drwxrwxr-x 14 1001 1001 4096 Feb  1 11:34 .

drwxr-xr-x  1 root root 4096 Jan 11 06:13 ..

drwxr-xr-x  3 root root 4096 Feb  1 11:34 .docker

-rw-rw-r--  1 1001 1001  257 Feb  1 11:33 .editorconfig

-rw-rw-r--  1 1001 1001 1070 Feb  1 11:33 .env

-rw-rw-r--  1 1001 1001 1066 Feb  1 11:33 .env.example

drwxrwxr-x  8 1001 1001 4096 Feb  1 11:33 .git

-rw-rw-r--  1 1001 1001  186 Feb  1 11:33 .gitattributes

-rw-rw-r--  1 1001 1001  216 Feb  1 11:33 .gitignore

-rw-rw-r--  1 1001 1001  120 Feb  1 11:33 .styleci.yml

-rw-rw-r--  1 1001 1001  968 Feb  1 11:33 Dockerfile

-rw-rw-r--  1 1001 1001 1006 Feb  1 11:33 README.md

drwxrwxr-x  7 1001 1001 4096 Feb  1 11:33 app

-rwxrwxr-x  1 1001 1001 1686 Feb  1 11:33 artisan

drwxrwxr-x  3 1001 1001 4096 Feb  1 11:33 bootstrap

-rw-rw-r--  1 1001 1001 1881 Feb  1 11:33 composer.json

drwxrwxr-x  2 1001 1001 4096 Feb  1 11:33 config

drwxrwxr-x  5 1001 1001 4096 Feb  1 11:33 database

drwxrwxr-x  4 1001 1001 4096 Feb  1 11:33 docker

-rw-rw-r--  1 1001 1001 1171 Feb  1 11:33 docker-compose.yml

-rw-rw-r--  1 1001 1001  248 Feb  1 11:33 package.json

-rw-rw-r--  1 1001 1001 1146 Feb  1 11:33 phpunit.xml

drwxrwxr-x  2 1001 1001 4096 Feb  1 11:33 public

drwxrwxr-x  5 1001 1001 4096 Feb  1 11:33 resources

drwxrwxr-x  2 1001 1001 4096 Feb  1 11:33 routes

drwxrwxr-x  5 1001 1001 4096 Feb  1 11:33 storage

drwxrwxr-x  4 1001 1001 4096 Feb  1 11:33 tests

-rw-rw-r--  1 1001 1001  263 Feb  1 11:33 vite.config.js

alessandro@dcb9ee89bceb:/var/www$

Tem esses 1001 ai, não sei se é assim mesmo ou não, mas no uid no Dockerfile ta 1000, do jeito que eu clonei.

Willy Camargo
Manager Carlos Ferreira 31/01/2024

Roda esse comando dentro do container:

chown -Rf www-data:www-data .

Se não funcionar, tente:

chown -Rf alessandro: alessandro .

Carlos Ferreira
Criador Willy Camargo 31/01/2024

Alterei no Dockerfile o uid de 1000 para 1001 e funcionou certinho, obrigado pela ajuda!

Willy Camargo
Sabe a Solução? Ajude a resolver!

Precisa estar logado para conseguir responder a este ticket!

Clique Aqui Para Entrar!