Não é possível executar o docker hello-world: ponto de montagem para dispositivos não encontrados

12

Novo na janela de encaixe.

Janela de encaixe instalada a partir da ferramenta de gerenciamento de software no mint 17.

Quando corro docker run hello-world, recebo:

FATA[0000] Error response from daemon: Cannot start container a6bcc1ede2c38cb6b020cf5ab35ebd51b64535af57fa44f5966c37bdf89c8781: [8] System error: mountpoint for devices not found 

Quando olho os logs de serviço ( /var/log/upstart/docker.log), vejo:

ERRO[0617] Couldn't run auplink before unmount: exec: "auplink": executable file not found in $PATH 
ERRO[0617] Couldn't run auplink before unmount: exec: "auplink": executable file not found in $PATH 

: versão docker

Client version: 1.6.2
Client API version: 1.18
Go version (client): go1.2.1
Git commit (client): 7c8fca2
OS/Arch (client): linux/amd64
Server version: 1.6.2
Server API version: 1.18
Go version (server): go1.2.1
Git commit (server): 7c8fca2
OS/Arch (server): linux/amd64

: informações do docker

Containers: 2
Images: 1
Storage Driver: aufs
 Root Dir: /var/lib/docker/aufs
 Backing Filesystem: extfs
 Dirs: 5
 Dirperm1 Supported: false
Execution Driver: native-0.2
Kernel Version: 3.13.0-24-generic
Operating System: Ubuntu 14.04.3 LTS
CPUs: 8
Total Memory: 15.6 GiB
Name: DWDEV-HOME-HBABAI
ID: K4GX:DTV6:547V:U3BO:YEOA:WVNU:NZEZ:L3GG:4W7U:IXNS:X3QK:5PVR
WARNING: No memory limit support
WARNING: No swap limit support

Atualizar:

sudo apt-get install aufs-toolsServiço docker instalado e reiniciado. Não vejo mais o seguinte erro:

ERRO[0617] Couldn't run auplink before unmount: exec: "auplink": executable file not found in $PATH 

No entanto, nos logs, vejo que, quando o docker está sendo iniciado, está me avisando sobre o ponto de montagem da memória:

INFO[0000] -job init_networkdriver() = OK (0)           
/var/run/docker.sock is up
WARN[0000] mountpoint for memory not found              
INFO[0000] Loading containers: start.         

Tenho a sensação de que tem a ver com cgroup ... mas ainda não sei nada sobre essa tecnologia ...

hba
fonte
Parece que sua pergunta caiu no chão e se partiu em pedaços. Por favor, junte tudo para nós.
15159 Scott
@Scott - desculpe ... espero que esteja melhor agora ... obrigado por apontar
hba

Respostas:

23

Acabou que eu precisava instalar cgroup-lite. Foi um tiro no escuro, mas eu segui esta resposta

hba
fonte
Você sabe, em algum momento eu descobri isso sozinho e esqueci. Agora encontrei sua pergunta quando eu a encontrei novamente e lembrei (e votei).
0xC0000022L
No Debian , o pacote correspondente é chamado cgroupfs-mount
Bass
1

Vou adicionar outra resposta aqui para as pessoas que veem isso em 2020 no Debian, pois minha resolução para esse problema não estava presente em nenhum dos achados de pesquisa encontrados ao pesquisar a string de erro "ponto de montagem para dispositivos não encontrados".

Fundo:

  • Debian 8.11 em execução no Google Cloud Platform
  • Um Docker instalado foi instalado há 5 semanas com dois contêineres em execução

De repente, percebi que algo havia feito os contêineres baterem. A única causa remotamente provável que eu pude descobrir foi que havia excluído uma pasta pai no host da qual uma subpasta foi mapeada como um volume. Outro motivo pode ser a montagem de um dispositivo físico adicional.

De qualquer forma, o resultado final foi que a tentativa de iniciar qualquer contêiner do docker resultou na mensagem de erro vista na pergunta (" mountpoint for devices not found") e nenhuma reinicialização (e, portanto, a atualização do kernel) ocorreu.

As etapas que tomei para depurar o problema foram

  1. Inspecione os logs: journalctl -xn | less. Realmente não continha muitas informações adicionais
  2. Pare o daemon do Docker ( /etc/init.d/docker stop).
  3. Adicione um arquivo /etc/docker/daemon.jsononde o conteúdo exclusivo foi{"debug": true}
  4. Tente reiniciar o daemon do docker apenas para vê-lo falhar
  5. Inspecione os logs, que agora seriam preenchidos com muito mais informações

Esses cgrouperros relacionados foram os que levaram à resposta:

Jan 13 20:17:15 dev-diffia-no dockerd[9022]: time="2020-01-13T20:17:15.964631675Z" level=warning msg="Your kernel does not support cgroup memory limit"
Jan 13 20:17:15 dev-diffia-no dockerd[9022]: time="2020-01-13T20:17:15.964654637Z" level=warning msg="Unable to find cpu cgroup in mounts"
Jan 13 20:17:15 dev-diffia-no dockerd[9022]: time="2020-01-13T20:17:15.964667575Z" level=warning msg="Unable to find blkio cgroup in mounts"
Jan 13 20:17:15 dev-diffia-no dockerd[9022]: time="2020-01-13T20:17:15.964680057Z" level=warning msg="Unable to find cpuset cgroup in mounts"
Jan 13 20:17:15 dev-diffia-no dockerd[9022]: time="2020-01-13T20:17:15.964750643Z" level=warning msg="mountpoint for pids not found"
Jan 13 20:17:15 dev-diffia-no dockerd[9022]: time="2020-01-13T20:17:15.980250151Z" level=debug msg="Cleaning up old mountid : start."
Jan 13 20:17:15 dev-diffia-no dockerd[9022]: Error starting daemon: Devices cgroup isn't mounted

OK, algo sobre cgroupse montagem. Isso me levou a uma solução alternativa para um problema diferente de cgroups que poderia ser aplicado nesse caso, dos quais os únicos comandos que pareciam ter efeito eram

  1. /etc/init.d/docker stop
  2. cgroupfs-mount
  3. /etc/init.d/docker start

Agora, ao iniciar o Docker novamente, os logs ainda continham algumas linhas de erros relacionados ao cgroup:

Jan 13 20:24:42 dev-diffia-no dockerd[9775]: time="2020-01-13T20:24:42.258571633Z" level=warning msg="Your kernel does not support cgroup memory limit"
Jan 13 20:24:42 dev-diffia-no dockerd[9775]: time="2020-01-13T20:24:42.258591020Z" level=warning msg="Unable to find cpu cgroup in mounts"
Jan 13 20:24:42 dev-diffia-no dockerd[9775]: time="2020-01-13T20:24:42.258937091Z" level=warning msg="mountpoint for pids not found"

Mas metade deles ( blkio, cpuset) se foi e, mais importante, a próxima linha dizia:

Jan 13 20:24:42 dev-diffia-no dockerd[9775]: time="2020-01-13T20:24:42.259420798Z" level=info msg="Loading containers: start."

E finalmente

Unit docker.socket has finished starting up.

Então, basicamente, remontar o material do cgroup corrigiu o problema. Não há necessidade de reiniciar.

oligofren
fonte