No se puede ejecutar docker hello-world: punto de montaje para dispositivos no encontrados

12

Nuevo en Docker.

Docker instalado desde la herramienta de gestión de software en mint 17.

Cuando corro docker run hello-worldrecibo:

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

Cuando miro los registros de servicio ( /var/log/upstart/docker.log) veo:

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 

: versión acoplable

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

: información del acoplador

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

Actualizar:

sudo apt-get install aufs-toolsServicio docker instalado y reiniciado. Ya no veo el siguiente error:

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

Sin embargo, en los registros veo que cuando Docker está iniciando, me está advirtiendo sobre el punto de montaje de memoria:

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.         

Tengo la sensación de que tiene que ver con cgroup ... pero no sé nada sobre esa tecnología (todavía) ...

hba
fuente
Parece que tu pregunta cayó al suelo y se rompió en pedazos. Por favor, arme para nosotros.
Scott
@Scott - lo siento ... espero que sea mejor ahora ... gracias por señalarlo
hba

Respuestas:

23

Resultó que necesitaba instalar cgroup-lite. Fue un disparo en la oscuridad pero seguí esta respuesta

hba
fuente
Sabes, en algún momento lo descubrí por mi cuenta, luego lo olvidé. Ahora encontré tu pregunta cuando la encontré nuevamente y la recordé (y voté).
0xC0000022L
En Debian , el paquete correspondiente se llama cgroupfs-mount
Bass
1

Agregaré otra respuesta aquí para las personas que vieron esto en 2020 en Debian, ya que mi resolución a este problema no estaba presente en ninguno de los resultados de búsqueda encontrados al buscar en Google la cadena de error "punto de montaje para dispositivos no encontrados".

Antecedentes:

  • Debian 8.11 ejecutándose en Google Cloud Platform
  • Tuve una instalación Docker en funcionamiento hace 5 semanas con dos contenedores en ejecución

De repente se dio cuenta de que algo había hecho que los contenedores se estrellaran. La única causa remotamente probable que se me ocurrió fue que había eliminado una carpeta principal en el host de la cual se asignó una subcarpeta como un volumen. Otra razón podría ser el montaje de un dispositivo físico adicional.

El resultado final, en cualquier caso, fue que al intentar iniciar cualquier contenedor docker resultó en el mensaje de error visto en la pregunta (" mountpoint for devices not found") y no se reinició (y, por lo tanto, se actualizó el kernel).

Los pasos que tomé para depurar el problema fueron

  1. Inspeccionar los registros: journalctl -xn | less. Realmente no contenía demasiada información adicional
  2. Detenga el demonio Docker ( /etc/init.d/docker stop).
  3. Agregue un archivo /etc/docker/daemon.jsondonde estaba el único contenido{"debug": true}
  4. Intente reiniciar el Docker Daemon solo para ver si falla
  5. Inspeccione los registros, que ahora estarían llenos de mucha más información.

Estos cgrouperrores relacionados fueron los que llevaron a la respuesta:

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 cgroupsy montaje. Eso me llevó a una solución alternativa para un problema diferente de cgroups que podría aplicarse en este caso, de los cuales los únicos comandos que parecían tener efecto eran

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

Ahora, al iniciar Docker nuevamente, los registros aún contenían algunas líneas de errores relacionados con 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"

Pero la mitad de ellos ( blkio, cpuset) se habían ido, y lo más importante, la siguiente línea decía:

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

Y finalmente

Unit docker.socket has finished starting up.

Entonces, básicamente, volver a montar el material de cgroup solucionó el problema. No es necesario reiniciar.

oligofren
fuente