DEV Community

Erick Eduardo Ramos
Erick Eduardo Ramos

Posted on

Cómo solucionar `docker run` con exit code 1 en Raspberry Pi

Cómo solucionar docker run con exit code 1 en Raspberry Pi

¿Por qué ocurre?

El error Exited (1) indica que el proceso principal del contenedor terminó con un código de error no cero. En tu caso específico, el problema está en el comando --net = host. El espacio antes y después del signo = es inválido en la línea de comandos de Docker. Docker interpreta --net como una opción sin valor, y luego =, host, -d, -t se convierten en argumentos para el comando del contenedor (no para Docker), lo que provoca que el contenedor falle al iniciar.

Esto explica por qué funciona en la VM (quizás con Docker más permisivo o versión diferente) pero falla en el Raspberry Pi físico: diferentes versiones de Docker manejan errores de parsing con distinta severidad.

Pasos para solucionarlo

  1. Corrige el formato del parámetro --net: elimina los espacios alrededor del =
  2. Verifica el comando base: asegúrate de que tu imagen myimage tenga un proceso principal válido (un CMD o ENTRYPOINT funcional)
  3. Ejecuta en primer plano para depurar: usa docker run sin -d para ver los logs en tiempo real

Comando corregido

docker run --net=host -d -t myimage
Enter fullscreen mode Exit fullscreen mode

⚠️ Importante: Si tu imagen no tiene un proceso que se mantenga en primer plano (como un servidor web o un script con tail -f), el contenedor terminará inmediatamente. Para probarlo:

docker run --net=host -it myimage /bin/sh
# o
docker run --net=host -it myimage /bin/bash
Enter fullscreen mode Exit fullscreen mode

Bloque de código corregido (versión robusta)

# Verifica primero el contenido de la imagen
docker run --rm -it --net=host myimage /bin/sh -c "echo 'Container OK' && ls -la /"

# Si todo funciona, ejecuta en modo detached
docker run --rm --net=host -d myimage
Enter fullscreen mode Exit fullscreen mode

Pro-tip

  • Usa docker logs <container_id> después de un fallo para ver el último output del contenedor
  • En Raspberry Pi, asegúrate de que la imagen esté construida para la arquitectura arm32v7 o arm64v8, no para amd64 (común error al usar imágenes de Docker Hub genéricas)
  • Para evitar este tipo de errores en scripts, usa la notación sin =:
  docker run --net host -d -t myimage
Enter fullscreen mode Exit fullscreen mode

Si el problema persiste, ejecuta:

docker inspect <container_id> | grep -A 5 '"State"'
Enter fullscreen mode Exit fullscreen mode

para ver el estado exacto y el código de salida.

Top comments (0)