Estou recebendo uma mensagem de erro dizendo que não consigo me conectar ao daemon do docker. Eu pesquisei as respostas de outras pessoas que tiveram problemas semelhantes, mas não ajudou. Estou executando a versão do Ubuntu 15.10. Vou tentar fornecer todas as informações que tenho.
root@# docker-compose -f docker-compose-deps.yml up -d
ERROR: Couldn't connect to Docker daemon at http+docker://localunixsocket - is it running?
If it's at a non-standard location, specify the URL with the DOCKER_HOST environment variable.
Versão Docker
root@# sudo docker version
Client:
Version: 1.9.1
API version: 1.21
Go version: go1.4.2
Git commit: a34a1d5
Built: Fri Nov 20 13:20:08 UTC 2015
OS/Arch: linux/amd64
Cannot connect to the Docker daemon. Is the docker daemon running on this host?
Versão Docker-Compose
root@# docker-compose --version
docker-compose version 1.5.2, build 7240ff3
Isso é o que acontece se eu tentar interromper ou iniciar o serviço ...
root@# sudo service docker stop
stop: Unknown instance:
root@# sudo service docker start
docker start/running, process 5375
Se eu correr ps aux | grep docker
root@# ps aux | grep docker
root 4233 0.0 0.0 13692 2204 pts/15 S+ 10:27 0:00 grep --color=auto docker
Qualquer ajuda seria muito apreciada. Deixe-me saber se precisar de mais informações.
ubuntu
terminal
docker
docker-compose
Daveskylark
fonte
fonte
Respostas:
Eu tive o mesmo erro, após 15 minutos de depuração. Acontece que tudo que ele precisa é de um
sudo
:) Confira [Criar um grupo Docker] aqui https://docs.docker.com/engine/installation/linux/ubuntulinux/ para se livrar do prefixo sudo.fonte
sudo
é apenas uma solução alternativa / hack, na minha opinião. como a parte de criação do grupo não é explicada aqui, apenas um link é fornecido, e o conteúdo desse link alterado, considero isso uma resposta apenas de link e agora é essencialmente inútil (para a parte de correção real). você poderia adicionar a descrição de como adicionar esse grupo?sudo
é uma má ideia também. Consulte os documentos do Docker para gerenciar o Docker como um usuário não root: docs.docker.com/engine/installation/linux/linux-postinstall/…sudo usermod -aG docker $USER
, e funcionará depois.Tive esse problema e não queria bagunçar as coisas usando
sudo
. Ao investigar, tentei obter algumas informações:Surpreendentemente, tive o seguinte erro:
Por algum motivo, eu não tinha privilégios suficientes, o seguinte comando resolveu meu problema:
Et voilà!
fonte
docker.sock
com um grupo não raiz,docker
como padrão. Mas poderíamos mudar isso por-G
sinalizador durante a inicialização do daemon do Docker. No meu caso, adiciono um grupo para$USERNAME
, significa adicionar o grupo docker e, em seguida, reinicializar minha máquina (ubuntu 16.04, PC). Isso funciona bem. E isso é recomendado nos documentos do docker.Parece que seu problema foi criado por um bug antigo do Docker, em que o arquivo de soquete não foi recriado após o Docker travar. Se este for o problema, renomear o arquivo de soquete deve permitir que ele seja recriado:
Uma vez que esse bug foi corrigido, a maioria das pessoas que recebem o erro
Couldn't connect to Docker daemon
provavelmente o estão obtendo porque não estão nodocker
grupo e não têm permissão para ler o arquivo. Executar comsudo docker ...
irá consertar isso, mas não é uma ótima solução.O Docker pode ser executado como um usuário não root (sem
sudo
) que possui as permissões de grupo adequadas. A documentação pós-instalação do Linux contém os detalhes. A versão curta:Isso permite que os usuários no
docker
grupo executemdocker
edocker-compose
comandos semsudo
. O próprio Docker executa uma raiz, permitindo alguns ataques, então você ainda precisa ter cuidado com os contêineres que executa. Consulte a documentação do Docker Security para obter mais detalhes.fonte
Eu tive o mesmo problema. Depois de fazer anotações e analisar alguns resultados de depuração, finalmente resolvi o que pode ser o mesmo erro. Comece o serviço primeiro,
service docker start
Não se esqueça de incluir seu usuário no grupo docker.
fonte
sudo
consertou para os outros -_- Fico feliz em descobrir que foi realmente isso, que eu esqueci de fazer. Tão simples!Você deve adicionar seu usuário ao grupo "docker" com algo como:
fonte
Recebi este erro quando havia arquivos no
Dockerfile
diretório que não eram acessíveis ao usuário atual.docker
portanto, não foi possível fazer upload do contexto completo para o daemon e trouxe a mensagem " Não foi possível conectar ao daemon Docker em http + docker: // localunixsocket ".fonte
docker build .
resultará em problemas de permissão.Uma maneira de resolver isso seria primeiro adicionar seu usuário ao
docker
grupo executando o seguinteIMPORTANTE: Lembre-se de sair do sistema (não apenas do terminal) e voltar para que isso tenha efeito!
fonte
Pela saída de "ps aux | grep docker", parece que o docker daemon não está sendo executado. Tente usar os métodos abaixo para ver o que está errado e por que o docker não está iniciando
$ sudo tail -f /var/log/upstart/docker.log
$ sudo docker -d -D
fonte
No meu caso, seu serviço docker pode ser interrompido
Comando para iniciar o serviço docker:
$ sudo systemctl start docker
Comando para verificar se ele inicia:
$ sudo docker run hello-world
fonte
Outra razão pela qual esse erro pode aparecer: para mim, era uma definição de caminho de imagem malformada em
docker-compose.yml
:Lookis ok'ish primeiro, mas eu tinha
CONTAINER_REGISTRY_BASE=eu.gcr.io/my-project/
definido no env. Aparentemente, o//
caminho no caminho da imagem causou esse erro.fonte
apenas experimente
sudo
. Parece um problema de permissão!funcionou para mim.
fonte
Usei o Ubuntu 16.04 e também encontrei esse problema quando usei docker-compose. Eu consertei executando este comando.
fonte
Existe uma pequena possibilidade de você ter excluído a máquina padrão? Mas, primeiro verifique se todos os arquivos estão lá (OSX, semelhante em outros sistemas)
Além disso, instale o aplicativo Docker, pois é muito mais fácil manter os contêineres:
ans iniciar o aplicativo Docker a partir do localizador (espere até que o serviço seja totalmente iniciado)
Em seguida, verifique a instalação com:
se nenhuma máquina estiver presente na lista, crie uma e inicie-a:
Depois disso, build, compose e todos os outros comandos devem funcionar corretamente.
fonte
no meu caso é porque a permissão ubuntu,
verifique a permissão por
se eles imprimirem permissão para problemas, use
fonte
Para mim, a correção foi instalar uma versão mais recente (1.24) de
docker-compose
usar este artigo .A versão anterior (1.17) foi instalada a partir
ubuntu
do repositório padrão de, mas após instalar uma versão mais recente, consegui iniciar o contêiner. Espero que ajude alguém.fonte
Acho que é por direito de acesso, você só tem que escrever
fonte
No meu caso tenho o mesmo erro quando tento
docker-compose build
e minha solução foi apenas adicionarsudo
fonte
Eu encontrei isso e pareceu resolver o meu problema.
GitHub Fix Docker Daemon Crash
Alterei o conteúdo do meu arquivo docker-compose-deps.yml conforme visto no link. Então eu corri
docker-compose -f docker-compose-deps.yml up -d
. Então mudei de volta e funcionou por algum motivo. Não precisei continuar as etapas no link que forneci, mas as duas primeiras etapas corrigiram o problema para mim.fonte