Se você chegou neste artigo, provavelmente você rodou o comando docker-compose up e surgiram erros. Um dos possíveis erros está tratado neste artigo, o de permissão relacionada aos grupos do seu linux.
Muitas vezes falta permissão ao usuário para que determinada tarefa seja executada em sua máquina. Com o docker não é diferente. Me deparei com este erro ao utilizar o docker e docker-compose pela primeira vez.
A configuração do arquivo .yml estava correta, contudo, não conseguia levantar o container com a imagem definida no meu arquivo de docker-compose.
O problema estava na definição dos grupos do meu linux. Ah sim, este tutorial é para usuários linux. Em um futuro próximo estaremos disponibilizando para windows também.
Existem diversos grupos em nossa máquina. Um deles deve ser o grupo docker (caso você o tenha instalado). Consequentemente, para que você possa criar o container a partir do docker-compose é preciso permissão.
Essa permissão sera concedida uma vez que seu usuário pertença ao grupo docker.
Dessa forma, é preciso primeiro verificar se o grupo docker realmente existe. Para isso execute o comando abaixo no terminal.
sudo group
Uma lista de todos seus grupos será retornada, como apresenta figura abaixo.
Caso o grupo não exista, utilize o comando abaixo para criá-lo. Lembre-se, para criação de grupos e definição de usuários é preciso ter permissão ou utilizar o comando sudo. Caso contrário o erro “permission denied” será retornado.
sudo groupadd docker
Para adicionar seu usuário ao grupo docker, execute o comando abaixo modificando o parâmetro <user>. O comando utiliza -a (add) -G (grupo) para adicionar o <user> ao grupo especificado (docker).
sudo usermod -a -G docker <user>
Posteriormente, confirma que seu usuário foi adicionado ao grupo
sudo groups <user>
Pronto! Se seu problema era apenas permissão você sera capaz de levantar o container docker através do docker-compose.
Veja mais posts do nosso tutorial Docker
Artigo 02 – Docker: Manipulação de Containers
Artigo 03 – Portainer: Instalação e Configuração