Ir a contenido
Tutorial básico para usar Docker en tu Raspberry Pi - 330ohms

Tutorial básico para usar Docker en tu Raspberry Pi - 330ohms

Docker es una de las plataformas más conocidas para implementar contenedores. Un contenedor es un entorno donde puedes ejecutar una aplicación de forma eficiente dentro de un sistema operativo. Se distingue de una máquina virtual ya que, a diferencia de esta, sólo carga los recursos necesarios para ejecutar la aplicación que deseas, en vez de recrear el sistema operativo completo.

Imagen obligatoria de contenedores. Vía: pexels.com por Samuel Wölfl

Instalación

Lo primero que necesitas es instalar Docker en tu Raspberry Pi. Toma en cuenta la versión de tu SO y sigue estas indicaciones.

Para Raspberry Pi OS Buster

En Raspberry Pi OS Buster vas a necesitar el instalador directamente de la pagina de Docker. Usa estos comandos para obtener el script:

 

sudo apt update sudo apt upgrade

Ahora obten el script de Docker y ejecútalo. Toma en cuenta que este proceso tomará un tiempo, así que sé paciente.

curl -sSL https://get.docker.com | sh

Por último, vamos a configurar el ambiente para que puedas ejecutar Docker adecuadamente.

sudo usermod -aG docker pi

Después de ejecutar este comando debes reiniciar tu Raspberry para que los cambios surtan efecto.

Para Raspberry Pi OS Bullseye

  • Para Bullseye puedes usar el instalador que viene con el sistema, usando:
sudo apt install docker.io

Al igual que en Buster, debes ejecutar usermod y reiniciar tu tarjeta para que Docker funcione.

Hola mundo

La manera mas sencilla de probar que Docker esta funcionando es ejecutar un ‘Hola mundo’. Este script mandara un simple mensaje que confirma que la instalación funciona correctamente.

docker run hello-world

Deberías ver algo como esto:

Hello from Docker! This message shows that your installation appears to be working correctly.

Ejecutando bash

Ahora vamos a ejecutar algo mas interesante, intentando ejecutar el interprete de comandos bash. Para lograr esto, Docker va a crear una versión mínima de Ubuntu y ejecutara solo los componentes necesarios para que bash pueda funcionar. Para lograr esto, ejecuta el siguiente comando:

docker run -it  ubuntu bash

Como no hemos ejecutado este contenedor anteriormente, el gestor se encargará de descargar todos los elementos necesarios para correr la imagen de Ubuntu. En este momento, podemos ejecutar el comando:

more /etc/os-release

Y podremos verificar que, efectivamente, es una versión mínima de Ubuntu para ejecutar el interprete de bash. Si ejecutamos también:

lscpu

Nos dará los datos de nuestra Raspberry Pi, como que estamos usando un procesador ARM72; o si ejecutamos top, veremos que tenemos 4GB de memoria RAM (dependiendo de la versión). Esto quiere decir que no hemos creado un entorno virtual completamente nuevo, sino que usamos solo los recursos necesarios para ejecutar la aplicación que deseamos. Esto es muy conveniente ya que asegura la ejecución de un programa con menos recursos.

Para salir de este contenedor podemos ejecutar simplemente:

exit

Imagenes disponibles

Hay una gran variedad de imágenes disponibles para utilizar en Docker. La lista de imágenes publicas puedes encontrarla en hub.docker.com. Algunas de nuestras recomendaciones de programas que puedes probar son:

  • MySQL
  • NodeJs
  • Java 8
  • PostgreSQL

Y muchos otros más. Recuerda verificar que el autor de la imagen este verificado y sea una fuente confiable para evitar peligros potenciales.

Conclusiones

Utilizar contenedores facilita la portabilidad de los programas para que no tengas que lidiar con las dependencias, y puedas hacer software multi-plataforma. Independientemente de si usas otro software para manejar contenedores, el uso de esta abstracción facilita mucho el despliegue de tus proyectos.

Referencias:

Intro to Docker using a Raspberry Pi 4

Docker Hub

La imagen de Docker se usa sólo con fines ilustrativos y educativos. Vía: aulasoftwarelibre-github-io_01
Artículo anterior Juegos 3D, mejores gráficos y más con Vulkan 1.2 y Raspberry Pi 4 - 330ohms
Artículo siguiente ¡Crea un NAS con Argon ONE M.2, Open Media Vault y Raspberry Pi 4B! - 330ohms