Erro de permissão ao instalar dependencias
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?
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
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
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.
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.
Roda esse comando dentro do container:
chown -Rf www-data:www-data .
Se não funcionar, tente:
chown -Rf alessandro: alessandro .
Alterei no Dockerfile o uid de 1000 para 1001 e funcionou certinho, obrigado pela ajuda!
Ola mestre, estou enfrentando o mesmo problema do amigo hoje, mas segui sua orientação e não consegui sucesso.
* Uso ubuntu
* usuario dockfile:
ARG user=andrade
ARG uid=1000
Comando ls -la
~/projetos/laravel-11$ ls -la
total 120
drwxrwxr-x 15 100032 100032 4096 abr 16 14:50 .
drwxr-xr-x 8 regis regis 4096 abr 16 14:40 ..
drwxrwxr-x 5 100032 100032 4096 abr 16 14:40 app
-rwxrwxr-x 1 100032 100032 350 abr 16 14:40 artisan
drwxrwxr-x 3 100032 100032 4096 abr 16 14:40 bootstrap
-rw-rw-r-- 1 100032 100032 2563 abr 16 14:40 CHANGELOG.md
-rw-rw-r-- 1 100032 100032 1968 abr 16 14:40 composer.json
drwxrwxr-x 2 100032 100032 4096 abr 16 14:40 config
drwxrwxr-x 5 100032 100032 4096 abr 16 14:40 database
drwxr-xr-x 3 100032 100032 4096 abr 16 14:50 .docker
drwxrwxr-x 4 100032 100032 4096 abr 16 14:40 docker
-rw-rw-r-- 1 100032 100032 1484 abr 16 14:53 docker-compose.yml
-rw-rw-r-- 1 100032 100032 963 abr 16 15:29 Dockerfile
-rw-rw-r-- 1 100032 100032 258 abr 16 14:40 .editorconfig
-rw-rw-r-- 1 100032 100032 1259 abr 16 14:44 .env
-rw-rw-r-- 1 100032 100032 1075 abr 16 14:40 .env.example
drwxrwxr-x 8 100032 100032 4096 abr 16 14:40 .git
-rw-rw-r-- 1 100032 100032 186 abr 16 14:40 .gitattributes
drwxrwxr-x 3 100032 100032 4096 abr 16 14:40 .github
-rw-rw-r-- 1 100032 100032 243 abr 16 14:40 .gitignore
-rw-rw-r-- 1 100032 100032 244 abr 16 14:40 package.json
-rw-rw-r-- 1 100032 100032 1191 abr 16 14:40 phpunit.xml
drwxrwxr-x 2 100032 100032 4096 abr 16 14:40 public
-rw-rw-r-- 1 100032 100032 1232 abr 16 14:40 README.md
drwxrwxr-x 5 100032 100032 4096 abr 16 14:40 resources
drwxrwxr-x 2 100032 100032 4096 abr 16 14:40 routes
drwxrwxr-x 5 100032 100032 4096 abr 16 14:40 storage
-rw-rw-r-- 1 100032 100032 120 abr 16 14:40 .styleci.yml
drwxrwxr-x 4 100032 100032 4096 abr 16 14:40 tests
-rw-rw-r-- 1 100032 100032 263 abr 16 14:40 vite.config.js
Executando ls -la dentro do docker
yourusername@e19356c2cb95:/var/www$ ls -la
total 124
drwxrwxr-x 15 www-data www-data 4096 Apr 16 17:50 .
drwxr-xr-x 1 root root 4096 Apr 10 09:55 ..
drwxr-xr-x 3 www-data www-data 4096 Apr 16 17:50 .docker
-rw-rw-r-- 1 www-data www-data 258 Apr 16 17:40 .editorconfig
-rw-rw-r-- 1 www-data www-data 1259 Apr 16 17:44 .env
-rw-rw-r-- 1 www-data www-data 1075 Apr 16 17:40 .env.example
drwxrwxr-x 8 www-data www-data 4096 Apr 16 17:40 .git
-rw-rw-r-- 1 www-data www-data 186 Apr 16 17:40 .gitattributes
drwxrwxr-x 3 www-data www-data 4096 Apr 16 17:40 .github
-rw-rw-r-- 1 www-data www-data 243 Apr 16 17:40 .gitignore
-rw-rw-r-- 1 www-data www-data 120 Apr 16 17:40 .styleci.yml
-rw-rw-r-- 1 www-data www-data 2563 Apr 16 17:40 CHANGELOG.md
-rw-rw-r-- 1 www-data www-data 963 Apr 16 18:29 Dockerfile
-rw-rw-r-- 1 www-data www-data 1232 Apr 16 17:40 README.md
drwxrwxr-x 5 www-data www-data 4096 Apr 16 17:40 app
-rwxrwxr-x 1 www-data www-data 350 Apr 16 17:40 artisan
drwxrwxr-x 3 www-data www-data 4096 Apr 16 17:40 bootstrap
-rw-rw-r-- 1 www-data www-data 1968 Apr 16 17:40 composer.json
drwxrwxr-x 2 www-data www-data 4096 Apr 16 17:40 config
drwxrwxr-x 5 www-data www-data 4096 Apr 16 17:40 database
drwxrwxr-x 4 www-data www-data 4096 Apr 16 17:40 docker
-rw-rw-r-- 1 www-data www-data 1484 Apr 16 17:53 docker-compose.yml
-rw-rw-r-- 1 www-data www-data 244 Apr 16 17:40 package.json
-rw-rw-r-- 1 www-data www-data 1191 Apr 16 17:40 phpunit.xml
drwxrwxr-x 2 www-data www-data 4096 Apr 16 17:40 public
drwxrwxr-x 5 www-data www-data 4096 Apr 16 17:40 resources
drwxrwxr-x 2 www-data www-data 4096 Apr 16 17:40 routes
drwxrwxr-x 5 www-data www-data 4096 Apr 16 17:40 storage
drwxrwxr-x 4 www-data www-data 4096 Apr 16 17:40 tests
-rw-rw-r-- 1 www-data www-data 263 Apr 16 17:40 vite.config.js
Consegue me ajudar? Muito obrigado
Régis, cria uma nova thread que te ajudo com isso.
Precisa estar logado para conseguir responder a este ticket!
Clique Aqui Para Entrar!