Instalación Docker en sistemas Linux

Agustin Bassi

Feb 05, 2021 ‧ 25 min estimados ‧ #docker #docker-compose #installation

Contenido

Objetivos

Introducción a las herramientas

Instalación Docker

Formas de instalación

Instalación utilizando el gestor de paquetes

Configurar permisos

Correr el Hello World!

Instalación Docker Compose

Finalizar las instalaciones

Conclusiones

Bibliografía

Licencia

Objetivos

El propósito de esta guía es instalar Docker y Docker Compose en sistemas Linux basados en Debian. Lo que vas a ver en este documento son los siguientes temas:

Introducción a las herramientas

El ecosistema Docker es un conjunto de herramientas que utilizan la tecnología de contenedores de Linux - procesos autocontenidos con bibliotecas, variables de ejecución, código fuente, entre otros - para desplegar aplicaciones y servicios de igual manera en múltiples plataformas.

Docker Compose es una herramienta dentro del conjunto de herramientas de Docker que sirve para administrar de manera centralizada la gestión de varios contenedores de Docker trabajando en conjunto dentro de una misma aplicación.

En este documento vas a ver los pasos de instalación de ambas herramientas dentro de sistemas Linux basados en Debian (Ubuntu, Mint, Debian) y no contempla la instalación en otros sistemas operativos.

En la documentación oficial de Docker y Docker Compose podés encontrar los pasos de instalación en todas las plataformas posibles.

Instalación Docker

Si tenés instalada alguna versión de Docker en tu sistema es necesario que la desinstales  previo a comenzar. Podés correr el siguiente comando para desinstalar.

sudo apt-get remove docker docker-engine docker.io containerd runc

Es normal que se reporten errores en caso de no contar con algunos paquetes instalados.

Formas de instalación

Para que tengas un contexto general, Docker puede instalarse de alguna de estas formas:

La instalación mediante un .deb y mediante scripts automatizados no está contemplada en este documento. Vamos a ver la forma recomendada mediante el gestor de paquetes.

Instalación utilizando el gestor de paquetes

Para comenzar actualizá la lista de repositorios del sistema con el siguiente comando.

sudo apt-get update

Después instalá las dependencias necesarias para Docker.

sudo apt-get install \
   apt-transport-https \
   ca-certificates \
   curl \
   gnupg-agent \
   software-properties-common

Importá la clave GPG con el comando a continuación.

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

Y verificá que la huella digital esté correcta con el siguiente comando:

sudo apt-key fingerprint 0EBFCD88

Después agregá el repositorio de Docker al sistema con este comando.

sudo add-apt-repository \
  "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
  stable"

Si añadir el repositorio al sistema te arroja un error, podés agregarlo manualmente. Para ello, ejecutá el siguiente comando para conocer la versión de tu sistema operativo que aparece en el campo Codename.

lsb_release -a

Conociendo la versión del sistema operativo editá el archivo de paquetes del sistema:

sudo nano /etc/apt/sources.list

Y al final del archivo agregá esta línea poniendo la versión del sistema operativo.

deb [arch=amd64] https://download.docker.com/linux/ubuntu version stable

Guardá el archivo con CTRL+X y seleccioná la opción Yes a continuación.

Con los pasos anteriores realizados, actualizá nuevamente la lista de paquetes.

sudo apt-get update

Ahora ya podés realizar la instalación de Docker CE (Community Edition: mantenida por la comunidad) con el siguiente comando.

sudo apt-get install docker-ce docker-ce-cli containerd.io

Una vez realizada la instalación es necesario que configures los permisos.

Configurar permisos

Una vez que Docker ya está instalado, resta un paso importante, que es darle permisos al usuario para poder ejecutar comandos de Docker sin acceder a privilegios de superusuario (evita tener que correr los comandos de Docker con sudo). Para este propósito primero tenés que crear el grupo Docker con el siguiente comando (puede ser que el grupo exista).

sudo groupadd docker

Después agregá tu usuario al grupo docker con este comando.

sudo usermod -aG docker $USER
sudo gpasswd -a $USER docker

Y finalmente reiniciá el servicio de Docker para que tome en cuenta los cambios.

sudo service docker restart

Correr el Hello World!

Para probar que la instalación de Docker se haya realizado correctamente vamos a correr el Hello World. Este comando descarga la imágen hello-world del repositorio oficial de imágenes Dockerhub y luego la ejecuta (convirtiéndola en container).

sudo docker run hello-world

Si la instalación se realizó correctamente, deberías ver en la terminal la siguiente salida.

Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
Hello from Docker!
...
To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Si el comando anterior te funciona la instalación de Docker está completa. Ahora podés continuar con la Instalación Docker Compose.

Instalación Docker Compose

Una vez que instalaste Docker es posible instalar Docker Compose con unos simples pasos. Comenzá descargando el ejecutable con este comando.

sudo curl -L "https://github.com/docker/compose/releases/download/1.26.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

Y después dale permisos de ejecución al binario descargado con el comando a continuación.

sudo chmod +x /usr/local/bin/docker-compose

Probar que la instalación se haya realizado correctamente, verificá la versión con este comando (dependiendo el caso, puede ser que tengas que anteponer sudo al comando):

$ docker-compose --version

Si se muestra la versión como salida significa que todo está funcionando bien.

Finalizar las instalaciones

Si ya instalaste Docker y Docker Compose, y ya corriste el Hello World, el único paso que te queda es reiniciar el sistema para que los servicios de Docker se levanten con todas las configuraciones realizadas. Ejecutá el siguiente comando para reiniciar.

sudo reboot

Una vez que el sistema inicie nuevamente ambas herramientas se encuentran totalmente configuradas. Para probar que los permisos funcionen adecuadamente corré nuevamente el Hello World sin permisos de superusuario (sudo) con este comando.

docker run hello-world

Si el comando anterior se ejecuta sin problemas significa que ahora tenés todo configurado para utilizar las herramientas.

Conclusiones

En este documento vimos el contexto y los pasos necesarios para instalar Docker y Docker Compose. Ambas herramientas son indispensables en el desarrollo de aplicaciones modernas. Para hacer un resumen, en este artículo vimos los siguientes temas.

Bibliografía

Licencia

Este material es distribuido bajo licencia Creative Commons BY-SA 4.0. Podés encontrar detalles sobre el uso del material en este link.