Erro ao executar o comando, ele gera uma exceção afirmando não achar esse carinha lá no composer.json: docker-compose exec php composer new-install
Porém, ele tá lá.
Alguém saberia informar quais os ajustes necessários?
Erro ao executar o comando, ele gera uma exceção afirmando não achar esse carinha lá no composer.json: docker-compose exec php composer new-install
Porém, ele tá lá.
Alguém saberia informar quais os ajustes necessários?
Você alterou alguma coisa no mapeamento dos volumes?
Pra ter certeza que o comando está sendo executado no lugar certo, você pode rodar um docker-compose exec php ls
O composer.json precisa aparecer na lista de arquivos
Você consegue postar aqui o erro que está dando?
Não realizei nenhuma alteração no docker-compose.yml e nem no Dockerfile dentro do docker/php ou mesmo docker/nginx
Ele tá dizendo que não posso fazer essa listagem: o user não tem acesso:
ls: cannot open directory ‘.’: Permission denied
Só pra vc se situar, meu user do host não está dentro do sudoers.
Eu executo o docker-compose com o root.
Eu executo o comando no diretório raiz do i-educar, que por sua vez contém o composer.json.
Você consegue acessar o bash do container?
docker exec -it ieducar-php bash
Se isso funcionar você pode rodar direto o composer new-install
dentro do container
Identifiquei o problema, só não achei a solução.
Eu entro pelo bash no container tanto pelo php ou pelo nginx, porém, não consigo acessar o diretório:
root@b46644fb7117:/var/www/ieducar# ls
ls: cannot open directory '.': Permission denied
@ferox parece que o usuário do Docker não tem acesso ao volume da tua máquina local.
É problema de permissão, entre na raiz do projeto e veja qual usuário é dono dos arquivo ls -l
.
Sim, sim!!
O usuário é o ferox mesmo.
Grupo e outros as permissões estão: 75
Me veio um insight aqui:
Se eu setar o user: “1001” no docker-compose.yml ele funciona???
Não funcionou. Será que eu tenho que setar o owner do ieducar clonado para www-data?
Outra questão é o SELinux, né?
@ferox tenta fazer uma ova instalação para verificar, pois parece apenas problema de permissão entre teu host e o Docker.
Você roda comandos do Docker com sudo
na frente do comando? Verifique se o Docker tem permissões para acessar as pastas do teu sistema.
Eu rodei uma instância do Mautic e quando ele tentou listar ou copiar algo pro volume local deu permission denied. Então eu vi que tinha que setar o SELinux para o path do meu volume e aí funcionou. Vou tentar fazer com o i-educar.
Valeu @edersoares e @munizeverton , brigado aí pelo feedback.
Realmente esse permission tá matando a instalação.
Eu já rodei o docker-compose kill
e logo em seguida o docker system prune -a
pra matar tudo de uma vez só, e aí dei um build nas imagens de novo, acesso o container, rodo o pwd (sem erro)
, tento listar não rola: permission denied.
@edersoares Eu não rodo com sudo não, meu usuário do /home não está no suders. É tudo pelo root mesmo.
Sabe o que é mais bizarro, quando eu rodo o docker run -i -v /home/ferox/Projects/Docker/i-educar:/var/www/ieducar:z fedora /bin/bash
consigo listar e criar documentos dentro do diretório i-educar pelo container.
Eu tentei alterar o docker-compose.yml e coloquei caminho completo, porém sem sucesso. Continua o erro permission denied.
Quando eu dou o build pelo docker-compose.yml e aí acesso o container pelo shell e dou um ls -la em /var/www o ieducar está com o user 1001, que é o UID do meu user ferox.
O que vcs acham, @munizeverton e @edersoares ???
@ferox chegou a excluir a pasta do projeto do i-Educar e fazer todo o processo novamente?
Realmente não sei o que dizer, talvez possa ser até um problema com a instalação do seu Docker.
Eu removi o Docker instalado pelo pacote da distro (Fedora 30) e instalei o docker-ce na versão test.
Vou remover o projeto e clonar ele novamente.
Obs.: Nessa versão do Docker eu já rodei vários containers com front-end em PHP: GPLI, Zabbix, e Kanboard.
@edersoares e @munizeverton O problema foi resolvido com a instalação do Docker CE. Agora, uma coisa que ficou estranha é que não foi possível instalar o JRE do OpenJDK com a imagem php:7.2-fpm. Fui até o Docker Hub e vi que lá havia um comentário sobre esse erro e que ele foi contornado mudando a versão do PHP para php:7.2.19-fpm. Não sei se outras pessoas podem enfrentar esse mesmo problema com o Java.
Deixo aqui o meu obrigado a vcs. Abraços!
Segue a imagem do i-Educar rodando pelo Docker CE no Fedora 30:
Que ótimo @ferox!
Estaremos testando este problema do OpenJDK e vamos usar a tua dica