Descrição
Olá,
Atualmente, estou tentando implantar o Portainer como parte de um enxame em um ambiente Vagrant local (3 máquinas Ubuntu 16.04, um gerenciador e dois trabalhadores). Quando eu especifico um volume para persistir os dados do Portainer, o serviço falha continuamente com a tarefa: saída diferente de zero (1) e quando executo docker service logs
, vejo o seguinte erro: argumento inválido . A seção do arquivo YAML da pilha pertencente ao Portainer é assim:
portainer:
image: portainer/portainer:latest
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /volumes/monitor/portainer/data:/data
deploy:
placement:
constraints:
- node.role == manager
networks:
- monitor
Também deve ser observado que quando eu não especifico o volume para os dados do Portainer, o serviço é executado sem problemas.
Informações adicionais: A raiz do volume do portainer /volumes
está dentro de uma pasta compartilhada no vagrant que tem permissões definidas para 777 para o diretório e modo de arquivo.
Qualquer ajuda que alguém pudesse dar seria muito apreciada. Obrigada.
Etapas para reproduzir o problema:
docker stack deploy
Detalhes técnicos:
docker run -p 9000:9000 portainer/portainer
): Executar no docker swarm (explicado acima)Eu tentei criar o volume do Portainer fora do diretório compartilhado e o serviço começou sem problemas, então parece que as permissões na pasta vagrant compartilhada devem estar causando o problema . Vou fechar isso agora e relatar mais achados.
O problema é, na verdade, o mecanismo de pasta sincronizada (compartilhada) do Virtual Box, alterar a pasta compartilhada para usar o NFS corrige o problema.
@ChexWarrior Também descobriu isso. A questão é - não deveria funcionar com pastas sincronizadas do VirtualBox também?
Comentários muito úteis
@ChexWarrior Também descobriu isso. A questão é - não deveria funcionar com pastas sincronizadas do VirtualBox também?