Cómo instalar Docker y Docker Compose en una Raspberry Pi

Aunque me cueste reconocerlo, tengo que darle la razón a un profesor mío de la universidad que hace ya algunos años nos dijo que Docker sería el futuro del desarrollo en cuanto a servicios se refiere, y que en ese día no daba un duro por él.

Docker se ha convertido poco a poco en una plataforma que facilita mucho las cosas tanto a desarrolladores como a usuarios que van a hacer uso de ciertos servicios, ya que nos permite poder desplegar en nuestro servidor (o Raspberry en este caso), múltiples servicios que están «totalmente aislados» (aunque esto no es realmente así al 100%) de nuestro sistema, por lo que podemos poner y quitar según nos convenga sin afectar para nada en el sistema en sí.

Esto nos permite, por ejemplo, poder tener 3 servidores Apache al mismo tiempo, cada uno con su configuración, o tener 5 servidores de MySQL. Si uno de estos servicios ya nos nos interesa, lo eliminamos y el resto no se ve afectado.

Así que vamos a ver cómo podemos preparar nuestra Raspberry para poder usar contenedores Docker, que en realidad es muy sencillo ya que ahora Docker ofrece soporte nativo para sistemas ARM como los de las RPi, cosa que antes no era así y poder usarlo era bastante más tedioso.

Instalación

Para poder instalar Docker en nuestra Raspberry lo primero que tenemos que hacer es actualizar las dependencias (recomendable antes de cualquier tipo de instalación)

sudo apt-get update

Luego ejecutamos el siguiente comando

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

Una vez instalado, para probar que todo funciona correctamente, ejecutamos lo siguiente

sudo docker run --rm hello-world

Y deberíamos ver algo parecido a lo siguiente

Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
c1eda109e4da: Pull complete
Digest: sha256:2557e3c07ed1e38f26e389462d03ed943586f744621577a99efb77324b0fe535
Status: Downloaded newer image for hello-world:latest

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

To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub. (arm32v7)
3. The Docker daemon created a new container from that image which runs the executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
https://hub.docker.com/

For more examples and ideas, visit:
https://docs.docker.com/get-started/

Ahora vamos a instalar Docker Compose, que es un añadido a Docker que nos permite gestionar varios contenedores a la vez, además de poder configurar de una forma más sencilla cómo se comunican entre ellos.

Lo primero que debemos hacer es instalar PIP

sudo curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py && sudo python3 get-pip.py

Luego instalamos Docker Compose

sudo pip3 install docker-compose

Y para comprobar que todo ha ido bien, ejecutamos

docker-compose --version

Lo que nos debería mostrar algo similar a lo siguiente

docker-compose version 1.24.1, build 1110ad01

La versión puede cambiar dependiendo de cuándo lo instaléis, pero si os sale un mensaje similar al de arriba, es que ha ido todo bien.

Y con esto ya tendríamos instalado y preparado Docker y Docker Compose para poder usar contenedores con nuestra Raspberry. Esto nos irá bien para poder seguir alguno de los siguientes tutoriales que haremos, ya que usaremos algunas imágenes de Docker para montar ciertas cosas.

Hasta el siguiente artículo.

¡Sé el primero en compartir este artículo!