Instalar Docker en una Raspberry Pi 3

Buenas Nómadas, hoy vamos a preparar una Raspberry Pi 3 para utilizar Docker en ella. No nos vamos a parar en qué es una Raspberry Pi o en explicar que es Docker, ya que sino el post sería eterno.

Introducción

Tenemos una Raspberry Pi 3, un hardware estupendo, con la potencia justa para ejecutar pequeñas aplicaciones. Éstas pueden instalarse sobre el sistema operativo como se viene haciendo desde antaño o podemos utilizar contenedores Docker.

Desde hace unos años se utiliza Docker, permitiendo ejecutar las aplicaciones “dockerizadas” en un mismo sistema operativo, simulando una ejecución independiente para cada aplicación. Bueno, ésta es una descripción es un poco simplona de Docker. Lo cierto es qué si estás aquí leyendo esta entrada, es porque seguramente ya sabes lo tienes idea de Docker y para que sirve, así como qué es una Raspberry Pi.

Obteniendo la imagen

La principal característica que hay que tener en mente cuando se utiliza una Raspberry Pi, es que la arquitectura es ARM, distinta a la que estamos acostumbrados a utilizar. A pesar que cada vez hay más aplicaciones compiladas para esta arquitectura, no están todas disponibles. Por eso es muy común tener que compilar las aplicaciones a utilizar en la Raspberry Pi. Docker no es una excepción y tendremos que compilar Docker en nuestra Raspberry Pi. Como os podréis imaginar, esto es un trabajo duro, ya no por la complejidad que puede ser más o menos, sino por el tiempo de compilación. La Raspberry Pi no es un hardware muy potente, y compilar una aplicación como Docker puede llevar horas o incluso días.

Te puede interesar  DNSmasq en Debian 8

Desde Cibernómadas os recomendamos utilizar las imágenes basadas en Raspbian, versión de Debian adaptada para la Raspberry Pi, que ya tienen Docker instalado y listo para usar de https://blog.hypriot.com/.

Utilizaremos la última versión disponible, en nuestro caso la versión 1.9.0. Podéis ver las versiones disponibles en https://blog.hypriot.com/downloads/.

Instalando el sistema operativo

Este es un punto complejo, pues depende del sistema operativo que utilices deberás hacer unas acciones u otras. En muchos manuales de Internet veras distintas configuraciones para instalar el sistema operativo en la SD de la Raspberry Pi.

Nosotros vamos a proponer una solución única que además es independiente del sistema operativo que utilices, ya sea Windows, Linux o MacOS. Para instalar el sistema operativo de forma independiente vamos a utilizar la herramienta Etcher la podéis descargar de https://etcher.io/. Tiene versiones para Windows, Linux y MacOS. Nosotros utilizaremos la versión de MacOS.

Etcher

La aplicación es muy sencilla de utilizar, es más, solo e necesita de 3 pasos para instalar el sistema operativo en la tarjeta SD. En el primer paso tenemos que seleccionar la imagen que queremos utilizar. Para este caso utilizaremos la imagen que hemos descargado en el punto anterior.

Etcher paso 1, seleccionar la imagen

Después de seleccionar la imagen debemos seleccionar el dispositivo que tiene la tarjeta SD. Etcher auto detecta el lector, pero podemos ajustarlo.

Etcher paso 2, selección de la SD

El tercer y último paso es hacer clic al botón Flash!. Es posible que Etcher nos solicite la contraseña de administrador para poder borrar la tarjeta SD e instalar el nuevo sistema operativo.

Etcher paso 3, grabar la ISO en la tarjeta SD

Una vez finalizado el proceso solo nos queda quitar la tarjeta SD del lector e introducirla en la Raspberry Pi.

Te puede interesar  Traefik, proxy inverso con Let's Encrypt en Raspberry Pi

Login

Al iniciar la Raspberry Pi deberemos de conectar un monitor y un teclado para poder interactuar con el nuevo sistema operativo. Para hacer login tenemos que utilizar como nombre de usuario pirate y como contraseña hypriot. Acto seguido ejecutamos el comando ifconfig y así obtendremos un listado de las interfaces de red (tanto físicas como lógicas) y las direcciones IP asociadas a las mismas. En la entrada eth0 dispondremos de la IP para acceder a través de la red donde hayamos conectado nuestra Raspberry Pi.

Primer login en Hypriot Docker

Cuando iniciemos la Raspberry Pi veremos que no disponemos de un interfaz gráfico, esto es así para poder asignar más recursos a nuestras aplicaciones.

Usando Docker

Ahora ya disponemos de todo lo necesario para ejecutar nuestros contenedores en la Raspberry Pi. Para hacer la prueba vamos a ejecutar el famoso ¡Hola Mundo! En Docker hay una imagen que se llama “casualmente” hello-world. Para ejecutar la imagen hello-world necesitaremos antes de nada conectarnos a la propia Raspberry Pi. Esto lo haremos mediante SSH.

Conexión SSH

Para realizar la conexión por SSH utilizaremos un terminal tanto en Linux como en Mac y podemos utilizar Putty desde entornos Windows. Desde el terminal ejecutaremos el comando ssh [email protected] y cuando nos solicite la contraseña introducimos hypriot. Este comando nos proporcionará una Shell desde la que podremos ejecutar nuestros contenedores.

Para los que utilicéis Windows y vayáis a utilizar Putty veréis una aplicación como la siguiente:

SSH con Putty

Para conectaros a la Raspberry Pi debéis de introducir la dirección IP en el campo Host Name (or IP address) tal que así: [email protected]<dirección ip>. Finalmente, para conectar hay que hacer clic en el botón Open. Esto nos dará un CMD con acceso a la Shell de la Raspberry Pi.

Te puede interesar  Drone.io CI/CD en Docker y Raspberry Pi - Parte II

Lanzando contenedores

Para ejecutar el contenedor hello-world ejecutaremos el comando run de Docker. Docker run hello-world. Este comando intentará buscar la imagen hello-world en la Raspberry Pi. Como acabamos de instalar el sistema operativo Docker no encontrará la imagen, así que la buscará en el repositorio público en Internet, desde allí Docker descargará la imagen y entonces la ejecutará. Como resultado veremos un mensaje indicando los pasos que han sido ejecutados por Docker, también veremos algunos ejemplos de como ejecutar otras imágenes.

Ejecutando la imagen hello-world

Ahora, Nómadas, sois vosotros quienes tenéis que ir lanzando contenedores Docker en vuestras Raspberry Pi.

Si te ha gustado, compártelo
Instalar Docker en una Raspberry Pi 3
Tagged on:                 

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *