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
-
Corrige el formato del parámetro
--net: elimina los espacios alrededor del= -
Verifica el comando base: asegúrate de que tu imagen
myimagetenga un proceso principal válido (unCMDoENTRYPOINTfuncional) -
Ejecuta en primer plano para depurar: usa
docker runsin-dpara ver los logs en tiempo real
Comando corregido
docker run --net=host -d -t myimage
⚠️ 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
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
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
arm32v7oarm64v8, no paraamd64(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
Si el problema persiste, ejecuta:
docker inspect <container_id> | grep -A 5 '"State"'
para ver el estado exacto y el código de salida.
Top comments (0)