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.