• Saltar al contenido principal
  • Saltar a la barra lateral principal
  • Blog
  • Sistemas Operativos
    • Todos los sistemas operativos del Raspberry Pi Imager en 2026
  • Tipos de Raspberry Pi
    • Selector interactivo de Raspberry Pi
    • Raspberry Pi: rivales y alternativas SBC en 2026 con Armbian y DietPi
  • Glosario
  • FAQ
  • Contacto
  • Cookies y RGPD
  • Acerca de

Raspberry para torpes

Blog sobre Raspberry Pi en español desde 2013. Guías de configuración, hardware, sistemas operativos y proyectos para todos los niveles.

Docker para torpes con Raspberry Pi u Orange Pi

12 enero, 2017 by manuti 9 comentarios

☕
¿El blog te ha sido útil?Puedes invitarme a un café en Ko-fi. Sin suscripciones, sin compromisos.
Invitar a un café

Si tenéis una Raspberry Pi actualizada o una Orange Pi usando el kernel mainline, podéis empezar a experimentar con Docker del que ya hablé hace mucho tiempo por aquí y luego sobre una imagen ya preparada: HypriotOS un Raspbian con Docker listo para usar.

Docker es un sistema de contenedores virtuales. Un contenedor es más simple que una máquina virtual, ya que en su interior solo incluye los librerías y programas que son diferentes a lo que tiene tu máquina, o sea, tu Raspbian en Raspberry Pi o tu armbian en tu Orange Pi. La base de estos contenedores son las denominadas imágenes, una especie de mini iso que se compara con lo que hay en tu máquina y completa lo que falta o es diferente para crear el contenedor.

En primer lugar aseguraos de tener un kernel mayor que 3.10, para ello en la Terminal  ejecutáis este comando:

uname -a

Debe saliros una información más o menos como esta:

op1-docker-03

Donde podéis ver que pone Linux orangepione 4.9.0-sun8i

También es muy conveniente tener la dirección IP fija o estática, para ello podéis seguir las indicaciones de este post en Raspbian.

Así que si el número es mayor podéis seguir adelante e instalar desde Terminal:

sudo apt install docker-ce

Comprobar que se ha instalado y funciona:

sudo docker info

op1-docker-01

Docker funciona como un servicio o sea que podemos pararlo si queremos hacer algún cambio de configuración y luego ponerlo en marcha de nuevo:

sudo service docker stop
sudo service docker start

Otros comandos interesantes son los que nos permiten loguearnos en una cuenta de Docker, creada previamente en su web https://hub.docker.com/ y aunque no es necesario puede sernos útil en el futuro:

sudo docker login

O saber que contenedores están en funcionamiento:

sudo docker ps

O saber todos los contenedores que tenemos, incluso los que están parados:

sudo docker ps -a

op1-docker-02

En el caso de que haya contenedores funcionando podemos ver su estado con:

sudo docker stats

Para salir de esta pantalla pulsamos Ctrl + C

OJO, las imágenes compatibles con Raspberry Pi, Orange Pi o similares son especiales para procesadores ARM y la imágenes suelen marcarse como rpi o como armhf . Si no incluyen esto seguro que no funcionan.

Arrancar container con una imagen externa como base

El comando para iniciar un contenedor desde cero es:

sudo docker run -d -p puerto_real:puerto_container imagen

Un par de ejemplos:

sudo docker run -d -p 80:80 hypriot/rpi-busybox-httpd
sudo docker run -d -p 8081:8081 resin/rpi-google-coder

El primer contenedor del ejemplo de arriba lo podremos ver con solo entrar con el navegador a su dirección IP vía web:

http://IP-fija-de-mi-maquina-con-docker/

op1-docker-06

El segundo contenedor necesita acceso seguro (https), aceptar la excepción de seguridad y especificar el puerto:

https://IP-fija-de-mi-maquina-con-docker:8081

op1-docker-07

op1-docker-08

op1-docker-09

op1-docker-10

op1-docker-11

Descargar imágenes

Si en vez de iniciar el contenedor desde cero queremos descargar las imágenes primero:

sudo docker pull imagen

Haríamos por ejemplo:

sudo docker pull hypriot/rpi-busybox-httpd
sudo docker pull resin/rpi-google-coder
sudo docker pull hypriot/rpi-alpine

Arrancar container en modo interactivo en la Terminal

Si en vez de arrancar el contenedor como un servicio, queremos conectarnos a él como si fuera otra Terminal:

sudo docker run -t -i imagen /bin/bash

Por ejemplo, para iniciar la imagen de coder:

sudo docker run -t -i resin/rpi-google-coder /bin/bash

Arrancar y parar containers ya creados

Si ahora volvemos a mirar los contenedores funcionando y el total ce creados:

sudo docker ps
sudo docker ps -a

Podremos ver una lista más o menos larga:

op1-docker-12

Aquí vemos que los contenedores tienen un identificador único que es código de letras y números largos del principio o un nombre aleatorio formado por dos partes: nombre-adjetivo. Usando cualquiera de estas opciones para identificarlos, podremos parar los contenedores o arrancarlos si están parados:

sudo docker start container_por_nombre o ID
sudo docker stop container_por_nombre o ID

Conectarse de forma interactiva a un container en funcionamiento

Si queremos ver o cambiar cosas en las tripas de un container que ya está en marcha, podemos conectarnos a él si por ejemplo usa la shell bashcon su nombre o ID de la siguiente forma:

sudo docker exec -i -t container_por_nombre o ID /bin/bash

op1-docker-13

Borrar container incluso el volumen asociado

Si os habéis emocionado y puesto en marcha muchos contenedores. Si os preguntáis: ¿dónde se guardan las imágenes y contenedores creados en Docker? os diré que vuestra carpeta es:

/var/lib/docker

Y que si os habéis emocionado y hay demasiados, lo mismo ha llegado el momento de borrarlos.

OJO que cada contenedor debe estar parado, stop , antes de borrarlo y que tienen un volumen asociado para los archivos temporales que podemos eliminar también con la opción -v

Usando los nombres o identificadores, ID, separados por espacios podéis borrarlos con este comando:

sudo docker rm -v container1 container2

¿Que hay en esa carpeta /var/lib/docker además de container?

Imágenes

Pues en esa carpeta están las Imágenes que hemos descargado y usado, podemos verlas con el comando:

sudo docker images

op1-docker-14

Borrar imágenes de docker

Si también nos hemos emocionado y hay muchas las podemos borrar, siempre que no la esté usando ningún container:

sudo docker rmi imagen_por_nombre o ID

Volúmenes

Cada container se basa en una imagen de referencia y al ponerlo en marcha crea un volumen para los archivos temporales que necesita, podemos verlos con:

sudo docker volume ls

op1-docker-15

Borrar volúmenes de docker

Si cuando borramos el contenedor no usamos la opción -v, habrá volúmenes abandonados que podemos borrar:

sudo docker volume rm volumen_por_nombre

Y esto es todo lo que por ahora he probado, espero que os animéis y os convirtáis en maestros de Docker.

Artículos relacionados:

  • HypriotOS-web
    HypriotOS un Raspbian con Docker listo para usar
  • homepage-docker-logo
    Docker máquinas virtuales en tu Raspberry Pi
  • etcher-header
    Etcher el mejor instalador para Raspbian PIXEL
  • coder funcionando sin consumir casi procesador
    Aprender a programar

Publicado en: Proyectos Etiquetado como: container, containeros, contenedores, docker, dockeros, hypriot, hypriotos, virtualizar, virtualization

Barra lateral principal

α Fotografía El lado analógico de manuti

Categorías

  • Cajas (9)
  • comandos (21)
  • Compras (117)
  • dudas (41)
  • Empezando (55)
  • Hardware (111)
  • Instalacion (64)
  • Media Center (56)
  • Negocios (5)
  • Proyectos (45)
  • Rivales (114)
  • Sistemas Operativos (70)
  • sorteo (2)
Raspberry Pi 5 - 4GB RAM
Raspberry Pi 5 - 4GB RAM
Ver precio en Amazon →
Raspberry Pi Zero 2W
Raspberry Pi Zero 2W
Ver precio en Amazon →

Por si te lo perdiste

github julio 2026

GitHub Raspberry Pi julio 2026: UART por PIO

pimoroni

Pimoroni cumple 14 años

touch display 2 10"

Touch Display 2 de 10″: la pantalla más grande

Raspberry Pi 5 - 8GB RAM
Raspberry Pi 5 - 8GB RAM
Ver precio en Amazon →

Visita la tienda Raspberry Pi en Amazon - enlace afiliado
© 2013–2026

Cookie y RGPD | Aviso Legal
Este sitio web usa cookies para mejorar su experiencia como usuario ► «Aceptar todo» Rechazar Elegir cookies ◘ Si necesita Política de cookies
Política de Cookies

Resumen de privacidad

Este sitio web utiliza cookies para mejorar tu experiencia mientras navegas por él. De estas cookies, las clasificadas como necesarias se almacenan en tu navegador, ya que son esenciales para el funcionamiento de las funcionalidades básicas del sitio web. También utilizamos cookies de terceros que nos ayudan a analizar y entender cómo usas este sitio web. Estas cookies se almacenarán en tu navegador únicamente con tu consentimiento. También tienes la opción de rechazarlas. Sin embargo, rechazar algunas de estas cookies puede afectar a tu experiencia de navegación.
Necessary
Siempre activado
Las cookies necesarias son imprescindibles para el funcionamiento correcto del sitio web. Esta categoría solo incluye cookies que garantizan las funcionalidades básicas y las características de seguridad del sitio. Estas cookies no almacenan ninguna información personal.
CookieDuraciónDescripción
cookielawinfo-checkbox-advertisement1 añoEstablecida por el plugin GDPR Cookie Consent, esta cookie registra el consentimiento del usuario para las cookies de la categoría "Advertisement".
cookielawinfo-checkbox-analytics1 añoEstablecida por el plugin GDPR Cookie Consent, esta cookie registra el consentimiento del usuario para las cookies de la categoría "Analytics".
cookielawinfo-checkbox-comentarios1 añoEstablecida por el plugin GDPR Cookie Consent, esta cookie registra el consentimiento del usuario para las cookies de la categoría "Comentarios (Disqus)".
cookielawinfo-checkbox-functional1 añoEstablecida por el plugin GDPR Cookie Consent, esta cookie registra el consentimiento del usuario para las cookies de la categoría "Functional".
cookielawinfo-checkbox-necessary1 añoEstablecida por el plugin GDPR Cookie Consent, esta cookie registra el consentimiento del usuario para las cookies de la categoría "Necessary".
cookielawinfo-checkbox-others1 añoEstablecida por el plugin GDPR Cookie Consent, esta cookie almacena el consentimiento del usuario para las cookies de la categoría "Others".
cookielawinfo-checkbox-performance1 añoEstablecida por el plugin GDPR Cookie Consent, esta cookie almacena el consentimiento del usuario para las cookies de la categoría "Performance".
CookieLawInfoConsent1 añoCookieYes establece esta cookie para registrar el estado por defecto de los botones de cada categoría y el estado de la CCPA. Funciona únicamente en coordinación con la cookie principal.
wpEmojiSettingsSupportssesiónWordPress establece esta cookie cuando un usuario interactúa con emojis en un sitio WordPress. Ayuda a determinar si el navegador del usuario puede mostrar los emojis correctamente.
__cf_bm1 horaEsta cookie, establecida por Cloudflare, se utiliza para dar soporte a la gestión de bots de Cloudflare.
Functional
Las cookies funcionales ayudan a realizar ciertas funciones como compartir el contenido del sitio web en redes sociales, recoger comentarios y otras características de terceros.
CookieDuraciónDescripción
VISITOR_INFO1_LIVE6 mesesCookie establecida por YouTube para medir el ancho de banda y determinar si el usuario recibe la interfaz de reproductor nueva o antigua.
ytidb::LAST_RESULT_ENTRY_KEYnuncaYouTube utiliza esta cookie para almacenar la última entrada de resultados de búsqueda en la que hizo clic el usuario. Esta información se usa para mejorar la experiencia ofreciendo resultados más relevantes en el futuro.
Performance
Las cookies de rendimiento se utilizan para entender y analizar los índices clave de rendimiento del sitio web, lo que ayuda a ofrecer una mejor experiencia de usuario a los visitantes.
Analytics
Las cookies analíticas se utilizan para entender cómo interactúan los visitantes con el sitio web. Estas cookies ayudan a ofrecer información sobre métricas como el número de visitantes, la tasa de rebote, la fuente de tráfico, etc.
CookieDuraciónDescripción
YSCsesiónCookie establecida por YouTube que se usa para hacer seguimiento de las visualizaciones de vídeos embebidos en páginas de YouTube.
Advertisement
Las cookies de publicidad se utilizan para ofrecer a los visitantes anuncios y campañas de marketing relevantes. Estas cookies rastrean a los visitantes a través de distintos sitios web y recopilan información para mostrar anuncios personalizados.
CookieDuraciónDescripción
VISITOR_PRIVACY_METADATA6 mesesYouTube establece esta cookie para almacenar el estado de consentimiento de cookies del usuario para el dominio actual.
__Secure-ROLLOUT_TOKEN6 mesesYouTube utiliza esta cookie para gestionar el despliegue de funciones y la experimentación. Ayuda a Google a controlar qué funciones nuevas o cambios de interfaz se muestran a los usuarios como parte de pruebas y despliegues escalonados, garantizando una experiencia coherente durante un experimento.
__Secure-YECsesiónCookie de YouTube. Se encarga de almacenar tus preferencias de reproducción de video (como el volumen, la calidad de video predeterminada o la configuración de subtítulos) cuando ves videos de YouTube incrustados en otras páginas web.
__Secure-YNID6 mesesCookie de YouTube utilizada para proteger la seguridad del usuario y prevenir el fraude, especialmente durante el proceso de inicio de sesión.
Others
Otras cookies sin clasificar son aquellas que están siendo analizadas y que todavía no se han asignado a ninguna categoría.
Comentarios (Disqus)
Las cookies de comentarios permiten mostrar y gestionar el sistema de comentarios de terceros (Disqus), incluyendo el registro de usuarios y el control de spam. Estas cookies solo se cargan si aceptas esta categoría.
CookieDuraciónDescripción
disqus_unique1 añoCookie de Disqus usada para el registro de usuarios y control de spam en los comentarios.
GUARDAR Y ACEPTAR
Funciona con CookieYes Logo