Solução simples para mim: sudo docker-compose up
ATUALIZAÇÃO 14/03/2016: Em algum momento do processo de instalação do docker (ou docker-compose?), Há uma sugestão e um exemplo para adicionar seu nome de usuário ao grupo "docker". Isso permite evitar a necessidade de "sudo" antes de todos os comandos do docker, da seguinte maneira:
~ > docker run -it ubuntu /bin/bash
root@665d1ea76b8d:/# date
Mon Mar 14 23:43:36 UTC 2016
root@665d1ea76b8d:/# exit
exit
~ >
Observe atentamente a saída dos comandos de instalação (docker e a segunda instalação para docker-compose) e você encontrará a etapa necessária. Também está documentado aqui: https://subosito.com/posts/docker-tips/
Sudo? Não!
Cansado de digitar sudo docker toda vez que você emite um comando? Sim, existe uma maneira de lidar com isso. Embora naturalmente o docker exija um usuário root, podemos fornecer um grupo equivalente a root para operações do docker.
Você pode criar um grupo chamado janela de encaixe e adicionar o usuário desejado a esse grupo. Após reiniciar o serviço do docker, o usuário não precisará digitar sudo toda vez que realizar operações do docker. Como se parece em comandos de shell? como raiz, aqui está:
> sudo groupadd docker
> sudo gpasswd -a username docker
> sudo service docker restart
Feito!
UPDATE 2017-3-9
Etapas de pós-instalação para Linux
Esta seção contém procedimentos opcionais para configurar hosts Linux para funcionar melhor com o Docker.
Gerenciar o Docker como um usuário não raiz
O daemon do docker se liga a um soquete Unix em vez de uma porta TCP. Por padrão, o soquete Unix pertence à raiz do usuário e outros usuários podem acessá-lo apenas usando o sudo. O daemon do docker sempre é executado como usuário root.
Se você não quiser usar o sudo ao usar o comando docker, crie um grupo Unix chamado docker e adicione usuários a ele. Quando o daemon do docker é iniciado, torna a propriedade do soquete Unix lida / gravável pelo grupo do docker.
Para criar o grupo de janelas de encaixe e adicionar seu usuário:
# 1. Create the docker group.
$ sudo groupadd docker
# 2. Add your user to the docker group.
$ sudo usermod -aG docker $USER
# 3. Log out and log back in so that your group membership is re-evaluated.
# 4. Verify that you can run docker commands without sudo.
$ docker run hello-world
Este comando baixa uma imagem de teste e a executa em um contêiner. Quando o contêiner é executado, ele imprime uma mensagem informativa e sai.
docker-machine
executado como root? Eu vim aqui com o mesmo problema no Ubuntu e foram as permissões no soquete -sudo
fizeram o truque.