Depois de atualizar minha versão do Docker 0.8.0
, recebo uma mensagem de erro ao digitar sudo docker version
:
Client version: 0.8.0
Go version (client): go1.2
Git commit (client): cc3a8c8
2014/02/19 12:54:16 Can't connect to docker daemon. Is 'docker -d' running on this host?
E eu segui as instruções e digitei o comando sudo docker -d
e obtive o seguinte:
[/var/lib/docker|2462000b] +job initserver()
[/var/lib/docker|2462000b.initserver()] Creating server
open /var/lib/docker/aufs/layers/cf2414da53f9bcfaa48bc3d58360d7f1cfd3784e4fe51fbef95197709dfc285d: no such file or directory[/var/lib/docker|2462000b] -job initserver() = ERR (1)
2014/02/19 12:55:57 initserver: open /var/lib/docker/aufs/layers/cf2414da53f9bcfaa48bc3d58360d7f1cfd3784e4fe51fbef95197709dfc285d: no such file or directory
Como resolvo o problema?
no such file or directory[/var/lib/docker|2462000b]
. Existe/var/lib/docker
no seu sistema? Caso contrário, acho que você precisará reinstalar o Docker.Respostas:
Linux
As etapas pós-instalação da documentação do Linux revelam as seguintes etapas:
Mac OS X
Como diz Dayel Ostraco , é necessário adicionar variáveis de ambiente:
O
docker-machine start
comando gera os comentários para orientar o processo.fonte
newgrp
comando para iniciar um novo shell neste novo grupo. Como esta:newgrp docker
.alias docker='sudo docker'
aconteceu com o truque. : pLinux
Para executar o daemon do docker no Linux (da CLI ), execute:
Nota: Pule o
$
caractere ao copiar e colar.No RedHat / CentOS, execute:
sudo systemctl start docker
.Para inicializar o sistema de arquivos "base", execute:
ou manualmente como:
Instale
docker-machine
no LinuxPara instalar os binários da máquina no Linux:
localmente:
global:
Mac OS
No macOS, o
docker
binário é apenas um cliente e você não pode usá-lo para executar o daemon do docker, porque o daemon do Docker usa recursos específicos do kernel do Linux; portanto, você não pode executar o Docker nativamente no OS X. Portanto, é necessário instalardocker-machine
para criar VM e anexar a ele.Instale
docker-machine
no macOSSe você ainda não possui um
docker-machine
comando, instale-o usando um dos seguintes métodos:brew install docker-machine docker
.manualmente no GitHub :
Consulte: Introdução ao Docker para Mac .
Configurar
docker-machine
no macOSPara iniciar o Docker Machine via Homebrew, execute:
Para criar uma
default
máquina (se você não tiver uma, consultedocker-machine ls
:):Em seguida, configure o ambiente para o cliente Docker:
Em seguida, verifique novamente listando os contêineres:
Consulte: Introdução ao Docker Machine e uma VM local .
Instale o Docker.app no macOS
Como alternativa à solução acima, você pode instalar um aplicativo Docker:
Verifique esta postagem para mais detalhes . Consulte também: Não é possível conectar-se ao daemon do Docker no macOS
fonte
docker-toolbox
a partir docs.docker.com/toolbox/toolbox_install_macsudo rm -rf /var/lib/docker
e, em seguida, reiniciar fez o truque. Eu estava realmente preso e nenhuma outra solução funcionou para mim.Se você estiver executando o Docker no OS X, a execução da seguinte avaliação funcionou para mim.
Se você preferir não precisar executar esta declaração de avaliação em todas as sessões do terminal, adicione-a ao seu
bash_profile
:Certifique-se de reiniciar a sessão do terminal ou de executar a origem
bash_profile
para que as alterações tenham efeito.fonte
Error checking TLS connection: Host is not running
... executando essa avaliação depois que o comandodocker-machine start default
fez o truque.Após uma investigação detalhada, esse problema parece ocorrer sempre que o Mac OS X é reiniciado (ou a máquina virtual do Docker é reiniciada), o que impede que o cliente do Docker se conecte ao daemon do Docker.
Para resolver o problema, você pode:
A) Reinstale o Docker Toolbox usando o instalador oficial ( https://www.docker.com/products/docker-toolbox ) ou simplesmente
B) Execute os seguintes comandos em ordem:
C) O mesmo que (B), você também pode copiar e colar a seguinte linha para executar todos os três comandos:
Caso você receba o seguinte erro:
basta executar novamente os três comandos outra vez e deve funcionar na segunda vez.
fonte
Isso geralmente acontece quando você não está no
docker
grupo. Você pode se adicionar aodocker
grupo com:ou
Depois disso, você precisa fazer logout e logon novamente no servidor.
Como alternativa, você pode
sudo
todos os comandos do Docker.fonte
Se todas as outras soluções acima não funcionarem, tente verificar a propriedade de
/var/run/docker.sock
:Se você não é o proprietário, altere a propriedade com o comando:
Em seguida, você pode prosseguir e tentar executar os comandos do Docker sem problemas: D
fonte
A melhor maneira de descobrir por que o Docker não está funcionando será executar o daemon manualmente.
O daemon do Docker faz logon no STDOUT, para que ele comece a cuspir o que estiver fazendo.
Aqui estava o meu problema:
Isso ocorreu porque a instância foi clonada de outra máquina virtual. Eu apenas tive que remover o pidfile e tudo funcionou depois.
É claro que, em vez de assumir cegamente que isso funcionará, sugiro executar o daemon manualmente mais uma vez e revisar a saída do log quanto a outros erros antes de iniciar o backup do serviço.
fonte
apparmor
pacote que faltava .dockerd -D
Se você receber a mensagem
Can't connect to docker daemon. Is 'docker -d' running on this host?
, poderá verificá-ladocker version
.Se você vir as informações como vir Docker Client em execução. mas o Docker Server não é , obviamente é necessário iniciar o servidor do Docker.
No CentOS, você pode usar
service
para iniciar ou parar o servidor Docker.Depois de digitar
docker version
, você obterá as informações do Docker Client e do Docker Server e o daemon do Docker foi iniciado.fonte
sudo service docker start
também funcionou para mim no Ubuntu 14.04.Faça
ps aux | grep docker
para ver se o daemon está em execução. Se não for executado/etc/init.d/docker start
fonte
sudo service docker start
me diz "docker start / running, process 4633" entãosudo service docker status
diz "docker stop / waiting"Eu reinicio o Docker depois de instalá-lo:
E isso funciona.
fonte
Eu tenho um problema semelhante. Eu tive que sair e fazer login novamente no shell, porque acabei de instalar o Docker e o comando a seguir não apareceu no meu ambiente.
fonte
Eu enfrentei esse problema e reiniciei o Docker usando estes comandos:
Mas não resolvi meu problema, porque esqueci de executar meus comandos do Docker sem
sudo
. Para quem enfrenta esse problema, tente verificar isso.Tentar
em vez disso:
fonte
docker build
no Ubuntu Xenial.Você pode usar o comando
simplesmente iniciá-lo.
fonte
sudo service docker restart
é mais fácil frEu tenho o mesmo erro e tentando
docker-machine regenerate-certs
oueval..
não funcionou para mim.Isso no OS X 10.11.3 (El Capitan) e no Docker v1.10.1. Consegui corrigi-lo apenas excluindo e recriando a docker-machine novamente. Fonte
Se estiver em execução
docker-machine ls
, mostra uma saída semelhante à abaixo;Tente remover sua máquina Docker com;
Onde
default
está o nome da sua máquina Docker. Então;Cria uma nova máquina Docker.
Verifique novamente se tudo parece normal agora (sem erros ou Docker desconhecido) com:
Finalmente, não se esqueça de executar
"$(docker-machine env default)"
antes de continuar ou executar o Docker Quickstart Terminal, que faz isso por você ...fonte
Eu tive o mesmo problema - "Não é possível conectar-se ao daemon do docker". (exceto que não recebi nenhum erro de 'arquivo não encontrado' ao tentar iniciar o servidor.)
'ps' mostrou que "/ usr / bin / docker -d" ainda estava em execução
Percebi que nunca havia conseguido executar o servidor sozinho. Toda tentativa havia produzido
Por isso, percebi, tardiamente, que a instalação do docker talvez tivesse registrado o daemon no inicio, que o iniciou para mim. Portanto, tentar matar o daemon para reiniciá-lo manualmente falha (operação não permitida). Então eu fiz um
no processo daemon. Outro daemon imediatamente tomou seu lugar, e esse novo agora permite que meu cliente CLI se conecte:
fonte
Tente adicionar o usuário atual ao
docker
grupo:Então saia e entre.
fonte
Use o aplicativo Docker CE
Mac OS
Use o novo aplicativo Docker Community Edition para macOS. Por exemplo:
Desinstale todos os pacotes do Docker Homebrew que você instalou até o momento:
Instale um aplicativo manualmente ou via Homebrew-Cask :
Nota: Este aplicativo irá criar ligações necessárias para
docker
,docker-compose
,docker-machine
, etc.Após executar o aplicativo, faça check-out do ícone de uma baleia Docker no menu de status.
docker
,docker-compose
,docker-machine
comandos, como de costume no Terminal .Relacionado:
Linux / Windows
Faça o download do Docker CE na página de download e siga as instruções.
fonte
Eu sabia que já existem muitas respostas neste post. Gostaria apenas de adicionar uma resposta simples que resolva o problema acima mencionado.
Execute o comando acima e ele iniciará todos os serviços / threads relacionados ao docker.
fonte
Acabei de ter o mesmo problema, executando no Amazon AWS .
Aqui está o que eu tentei:
docker-machine
localmente com a instância da AWS já existentedockerd
funcionou ...Foi testado a seguir na máquina remota:
Eu removi
/var/lib/docker
e desinstalei tudo, mas não houve sucesso após a reinstalação. Infelizmente não tenho logs armazenados de falhas, masdocker.service
apenas me recusei a iniciar.No entanto, o que finalmente resolveu meu problema foi basicamente:
fonte
Seguindo o site DOC do Docker: Gerenciar o Docker como um usuário não raiz
1) Criar grupo Docker
2) Faça o usuário pertencer ao grupo de janelas de encaixe para obter os privilégios do grupo.
Verifique se a variável de ambiente DOCKER_HOST está definida para seu shell.
Se existir,
Então isso deve funcionar:
fonte
unset DOCKER_HOST
trabalhou para mimSe você estiver executando o OS X usando a ferramenta Docker, siga isto.
Reinicie o daemon e configure seu ambiente:
E depois
Finalmente,
Para testar o daemon está em execução:
docker ps -a
oudocker-machine ls
. Isso listará todos os contêineres.fonte
Eu tenho o mesmo problema. No CentOS 6.5:
Se ele não mostrar nenhum processo de daemon do Docker, digite:
Então Ctrl+ Dpara parar o Docker. Como usamos a
-d
opção, o Docker será executado como daemon. Agora podemos fazer:Então eu posso fazer a
docker pull centos
. Isso é tudo.NOTA: Se estes não funcionarem, você pode tentar
yum update
e repeti-los novamente, porque euyum install
antes deles.fonte
O Serviço Docker pode não estar em execução.
Se você estiver em um RedHat / Fedora / CentOS, tente o seguinte:
sudo systemctl start docker
Se você estiver no Ubuntu / Debian:
sudo service start docker
O Docker começará a ser executado no host e na respectiva porta.
fonte
Verifique se você está usando o Docker Machine :)
Executar
docker-machine env default
deve fazer o truque.Porque de acordo com a documentação:
https://docs.docker.com/machine/overview/
fonte
fonte
Para corrigir, você precisa emitir os seguintes comandos no terminal. Vou explicar cada passo:
Agora, se você deseja simplificar as coisas e obter mais tempo, pode executar meu
init
script com o parâmetroinstallDocker
:Uma reinicialização é opcional, mas sugiro que você faça isso para garantir que tudo corra bem.
fonte
Eu tive o mesmo problema ao executar o Docker 1.10 no Ubuntu 14.04 e nenhuma das respostas fornecidas funcionou. Para mim, a correção foi especificar o driver de armazenamento ao executar o daemon do Docker.
fonte
Se você usa o gitlab-ci / gitlab-runners, obtém esse erro se não tiver permissões para acessar
/var/run/docker.sock
.Para resolver o problema:
Verifique com:
Espero que ajude.
fonte
Se a regeneração de certificados TLS não funcionar
Tente reiniciar a máquina docker e defina a variável env:
Verifique se a máquina está funcionando com:
ou alternativamente
Isso funcionou para mim. No entanto, se você ainda não tiver o daemon instalado, a página de solução de problemas do Docker detalha um processo para parar, remover e criar uma nova máquina.
fonte
Também recebi o problema "Não é possível conectar ao daemon do Docker. O daemon do Docker está sendo executado neste host?".
Eu tinha esquecido de usar
sudo
. Espero que ajude alguns de nós.fonte