Usando Docker en la Raspberry Pi 3

Docker es una tecnología que se basa en el uso y administración de imágenes para realizar el despliegue mediante contenedores que levantan un conjunto de software independiente uno del otro, dicho de otra manera nos permite una instalación de software standard e independiente. Mas información sobre Docker en este artículo de Wikipedia y en la página oficial de Docker

En este artículo veremos como instalar Docker en nuestra raspberry Pi  y los comandos más importantes para administrar imágenes y generar containers.

Materiales

  • RPi 3
  • Cable HDMI
  • Monitor
  • Micro SD 32GB (Usamos una MicroSD EVO Plus de Samsung)
  • Teclado y mouse RF
  • Fuente de poder 5V @ 2A
  • Acceso Internet
  • PC con Win10 programa Win32 diskimager

Procedimiento

Para nuestra raspberry pi 3, usamos la imagen oficial Stretch Lite de  Raspbian OS

Para «quemar» la SD usamos la imagen obtenida en el paso anterior y  el programa Win32diskimager

Conectamos cable HDMI, Teclado, microSD y fuente de poder a nuestra Raspberry Pi
Tras el boot inicial se habilita la conexion SSH desde el menu

sudo raspi-config

Luego conectamos via SSH al PC y ejecutamos los siguientes comandos

sudo apt-get update
sudo apt-get upgrade

Ahora usamos el script provisto por la gente de Hypriot y a continuación bajamos el paquete debian correspondiente (nosotros probamos con debian/wheezy)


curl -ks https://packagecloud.io/install/repositories/Hypriot/Schatzkiste/script.deb.sh | sudo bash
wget --content-disposition https://packagecloud.io/Hypriot/Schatzkiste/packages/debian/wheezy/docker-hypriot_1.11.1-1_armhf.deb/download.deb
sudo dpkg -i docker-hypriot_1.11.1-1_armhf.deb
sudo sh -c 'usermod -aG docker $SUDO_USER'
sudo systemctl enable docker.service

Esta parte del código viene de la pagina de Uli Middelberg

Para verificar usamos

sudo docker info

docker version

Como vemos un problema en la salida, reiniciamos nuestra raspberry pi

sudo reboot

Y probamos nuevamente

docker version

 

La primera prueba funcional es a traves del Hello World de Docker con el comando

docker hello-world

La salida se ve en la siguiente imagen

 

Como gran prueba obtenemos una imagen de Docker que tenga OpenCV y TensorFlow instalado, para ello usamos el comando

docker pull imelnik/rpi-python3-tensorflow-opencv

Esta imagen fue obtenida desde https://hub.docker.com/r/imelnik/rpi-python3-tensorflow-opencv/

Para crear el contenedor a partir de imagen que obtuvimos recien, usamos el siguiente comando

docker run -it --name test imelnik/rpi-python3-tensorflow-opencv

De esta manera habilitamos el uso de OpenCV en nuestra RPi3

Para verificar que conrainers están en funcionamiento se usa el comando

docker ps

Y para cerrar este container usamos

docker stop NOMBRE_DE_IMAGEN

Con esto ya tenemos lo básico para trabajar con Docker, en próximos artículos veremos temas adicionales. Esperamos que les sea de utilidad para sus proyectos.

Author: Manuel Carrasco

Ingeniero Eléctrico, Institutano, instructor certificado Cisco, en twitter @mcarrasco con comentarios y opiniones personales.

Deja una respuesta

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