problema com o docker


32

Estou tentando aprender sobre o "Docker" no ubuntu 15.04.

Quando eu dou algum comando usando o docker como "docker run image", ele recebe o seguinte erro:

FATA[0000] Post http:///var/run/docker.sock/v1.17/containers/create: dial unix /var/run/docker.sock: no such file or directory. Are you trying to connect to a TLS-enabled daemon without TLS?

Eu não entendo o que isso significa.


5
Eu estava recebendo essa mensagem de erro e iniciei o daemon com sudo service docker start. Então eu pude correr sudo docker run hello-world. Boa sorte.
Shell # 6/15

Respostas:


31

Há dois motivos possíveis para você receber esse erro:

  1. O daemon do Docker não está em execução. Você pode verificar isso com sudo /etc/init.d/docker status.

  2. O daemon do Docker está em execução, mas está configurado para não atender /var/run/docker.sock. Você pode verificar /etc/default/dockerse alguma -Hopção está especificada em DOCKER_OPTS.


3
+1. Eu só tinha que uso $ sudo service docker statusdesde que cheguei$ sudo /etc/init.d/docker status * Docker is managed via upstart, try using service docker status
Isaacs

Após a execução sudo /etc/init.d/docker status, reconheci que o serviço de docker estava inoperante. Eu corro sudo /etc/init.d/docker start, então pude executar minha imagem do Docker.
Halil

Parece que / etc / default / docker não é mais útil no systemd (Ubuntu 16.04+). BTW no sistema a maneira canônica de verificar o status do daemon seria sudo systemctl status docker.
Pablo A

38

Depois de instalar o Docker, você será solicitado a adicionar seu usuário ao grupo do Docker. Simplesmente execute o comando mostrado:

sudo usermod -aG docker $USER

Você precisará fechar sua sessão e efetuar login novamente para que a alteração entre em vigor.


provavelmente o mais simples. Eu não sei se funciona, embora (usado @ decebal) resposta.
Yair Daon

Eu não recebi esse prompt. Estou no Raspberry Pi.
IgorGanapolsky

Para adicionar-se ao grupo de janelas de encaixe mais tarde, execute sudo usermod -a -G docker <user>. Veja aqui para mais informações.
Hugh W

3
Ênfase em "encerre sua sessão" - obrigado!
Dolan Antenucci

No Ubuntu 18.04 com Gnome, tive que reiniciar o sistema para que isso funcionasse. O logoff e o logon novamente não funcionaram: /
Zoltán

15

Tente reiniciar o sistema operacional após a instalação do docker para aplicar permissões de grupo, se o usuário ingressou no grupo do docker.

Atualizar:

Ao instalar o Docker no ubuntu 14.04, o instalador recomenda o que o usuário adiciona ao grupo Docker para acessar o Serviço Docker.

Olhe para a

O daemon do docker se liga a um soquete Unix em vez de uma porta TCP. Por padrão, o soquete Unix pertence ao usuário root e outros usuários podem acessá-lo com o sudo. Por esse motivo, o docker daemon sempre é executado como usuário root. Para evitar ter que usar 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.

fonte: https://docs.docker.com/installation/ubuntulinux/#create-a-docker-group


2
Você deve explicar por que isso vai ajudar.
precisa saber é o seguinte

1
@guntbert tenho atualizar a minha resposta ..
MURATSPLAT

@MURATSPLAT, QBI, gunbert Graças i encontrar a solução
rishi Kant

Para tornar a permissão do grupo alterar o efeito. Você não precisa reiniciar. logout é suficiente.
Tim Wu

@TimWu No Ubuntu 18.04 com Gnome, eu tive que reiniciar o sistema - simplesmente sair e voltar a trabalhar não funcionava: / /
Zoltán

10

tente usar sudo docker imagespara verificar se há um contêiner chamado <image>no seu host.

A execução docker run <image>iniciará um contêiner chamado <image>no computador host; se o computador host não tiver esse contêiner, o docker puxará automaticamente um contêiner denominado '' do hub do repositório, exatamente como você está executando docker pull <image>. Se ainda não conseguir encontrar uma imagem chamada '', mostrará esta mensagem de erro.

você pode tentar substituir para hello-worldver se o docker está funcionando no seu computador.

sudo docker run hello-world

Além disso, você deve verificar se deve usar sudo.


2
Se o problema era que o OP não estava usando o sudo, a mensagem de erro teria sido "permissão negada" em vez de "nenhum arquivo ou diretório".
Andreas Veithen

1
Sim, você está certo. Eu tentei isso, se o usuário não tem a permissão a mensagem de erro seria:FATA[0000] Get http:///var/run/docker.sock/v1.18/containers/json: dial unix /var/run/docker.sock: permission denied. Are you trying to connect to a TLS-enabled daemon without TLS?
realhu

2
tente conceder permissõessudo usermod -a -G docker ec2-user
AB

4

Encontrei este artigo útil: https://docs.docker.com/articles/systemd/ ; Eu o executei em vários ambientes e trabalhei, espero que ajude você também


As respostas somente de link não são consideradas aceitáveis. Por favor, especifique sua resposta para ser completa.
Flimzy

2
Embora isso possa teoricamente responder à pergunta, seria preferível incluir aqui as partes essenciais da resposta e fornecer o link para referência.
Mitch

1
Esse link systemd parece estar morto. Aqui está outro link docs.docker.com/engine/admin/systemd
wsams 15/03

2

Recebi uma mensagem semelhante ao tentar extrair uma imagem. Acabei de fazer sudo sue consegui extrair a imagem com êxito.


2
Bem-vindo ao Ask Ubuntu! Eu recomendo editar esta resposta para expandi-la com detalhes específicos sobre como fazer isso. (Consulte também Como escrevo uma boa resposta? Para obter conselhos gerais sobre que tipo de respostas são consideradas mais valiosas no Ask Ubuntu.) Lembre-se, porém, de que executar o Docker como superusuário já foi sugerido várias vezes.
David Foerster

eu tenho a solução do meu problema.
precisa saber é o seguinte
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.