Instalar Docker CE en Ubuntu 22.04 LTS Jammy
Sergio S.
Antes de Instalar Docker CE en Ubuntu 22.04 LTS Jammy, me gustaría comentar brevemente de la problemática y la necesidad que tenia de encontrar una herramienta requerida para la realización de mis proyectos, respecto a mi manera de trabajar y con la cual ya me sentía habituado.
Brevemente... mi problemática
Hace poco tuve la necesidad de cambiar el sistema operativo (Windows) que tenia alojado localmente en mi equipo de computo y migrar los proyectos que vengo desarrollo a un ambiente Linux (nada extraño ya que los servidores que uso de clientes y el mio propio son hosting en linux), y pues me decidí por Ubuntu de Linux.
Debo de comentar que me negaba al cambio ya que me había acostumbrado a una muy buena herramienta de desarrollo llamada Laragon (que posiblemente haga una entrada explicando de las bondades de esta herramienta) ya que te permite tener configuraciones de diferentes versiones de PHP, de diferentes versiones de Bases de Datos ya sea de MySQL o MariaDB, también de tener diferentes versiones de NodeJS, e incluso elegir el servidor web a usar ya sea Apache o Nginx y otras cosas más que es posible tener configuradas creando tus ambientes de desarrollo con Laragon.
¿Dudas ante la problemática?
Para quienes nos dedicamos y ofrecemos servicios de desarrollo FrontEnd y BackEnd, la flexibilidad que ofrece Laragon de trabajar en sistemas operativos Windows en mi opinión es la mejor que puedas encontrar. Ofreciéndote la capacidad de albergar diferentes versiones de tecnologías y poderlos ejecutar localmente para desarrollar o darles mantenimiento a mas de un proyecto con diferentes configuraciones para tus ambientes de desarrollo esto es posible con Laragon, el levantar un proyecto nuevo y después otro sin la necesidad de desinstalar las versiones con las que ya trabajas con esos proyectos y no entorpecer o perjudicar a proyectos antiguos con los que ya estas trabajando y que sigues dándole soporte y mantenimiento.
¿Por que mis dudas?
Quizás por mi dependencia a Laragon y por que me había acostumbrado a lo que me ofrecía para trabajar y estas decisiones son las que me obligaron a la tarea de investigar si era posible instalar Laragon en Linux; sabiendo de antemano que Laragon solo funciona para ambientes Windows pero aún así investigue si era posible el instalarlo (y sí lo se... algunas veces tenemos esa falsa esperanza de que existe al menos una posibilidad).
Y buscando alternativas la mejor opción que me arrojaba para un ambiente Linux era instalar XAMPP, que ya he tenido la oportunidad de usar, pero siendo sincero no posee esa flexibilidad que ofrece Laragon, que te permite crear y tener diferentes entornos de desarrollo para con cada proyecto que ya estas trabajando y crear nuevos entornos de desarrollo para con nuevos proyectos, lo cual seria excelente que XAMPP aspirara a competir con Laragon para un ambiente Linux con esa infraestructura y facilidad, pero de momento eso no es posible con XAMPP ni con WampServer y otras muchas que ya no es necesidad de listar.
¡Y entonces surgió la luz!, ¿Al parecer encontré algo?
Esto sucedió cuando me encontré con algo llamado Docker (donde soy novato y nuevo en esto) y siendo sincero me encuentro muy emocionado por las primeras lecturas acerca de esta herramienta y considero casi asegurándolo de que es lo que necesito y estaba buscando para trabajar en Linux y el poder tener diferentes entornos de desarrollos que aquí en Docker les hacen llamar contenedores y donde presiento sera muy interesante el conocer y experimentar con Docker. Y este es el motivo por el que hago este tutorial de como Instalar Docker CE en Ubuntu 22.04 LTS Jammy, donde espero sea de ayuda a quienes quieran conocer Docker.
Me base en la realización de este tutorial en la documentación oficial: Install Docker Engine on Ubuntu y agregue algunas cosas que no vienen en la documentación oficial pero que a mi consideración te servirán para trabajar mas amigablemente con Docker. Por lo que... ¡manos a la obra!
Instalar Docker en Ubuntu 22.04, usando repositorios de Ubuntu
Antes de instalar Docker Engine por primera vez en una nueva máquina host, se debe configurar el repositorio de Docker. Ya luego, se puede instalar y actualizar Docker desde el repositorio. Se usaran los repositorios de Ubuntu para la instalación de Docker ya que es la instalación que se aconseja en la documentación oficial.
Configurar el repositorio
1.- Con el siguiente comando actualicemos el índice de paquetes apt y posteriormente instalemos paquetes para permitir que apt use un repositorio a través de HTTPS:
sudo apt-get update
Nota: Aquí te solicitara la contraseña de tu usuario para validar la actualización del indice de paquetes apt.
1.1.- Ahora instalamos los paquetes para permitir que apt use un repositorio a través de HTTPS, por lo que copia todo el comando siguiente y ejecútalo:
sudo apt-get install \
ca-certificates \
curl \
gnupg \
lsb-release
Nota: Te solicitara que confirmes la instalación de paquetes, mostrándote en la terminal la pregunta de ¿Deseas continuar? [S/n], a lo que escribimos S, para confirmar.
2.- Agregar la clave GPG oficial de Docker, ya que para descargar los paquetes de Docker en Ubuntu, debemos agregar la clave GPG utilizada para firmar los paquetes de Docker por quienes la desarrollaron; de lo contrario, el sistema devolverá un error y no podrá usar el repositorio. Nos permite validar la integración de los archivos del repositorio.
2.1.- En la documentación oficial indica como primer paso el crear la carpeta "keyrings" usando el comando "mkdir" con la opción -p o –parents, que crea un directorio de forma recursiva (cuando no hay un directorio encima del directorio creado), por curiosidad yo revise en Ubuntu en la version 22.04 que instale que esa ruta ya esta creada, pero por si se llegara a dar el caso de que no este creada ejecutar lo siguiente, ya que la usaremos en un paso posterior:
sudo mkdir -p /etc/apt/keyrings
Nota: Te solicitara la contraseña de tu usuario.
2.2.- Una vez instalado los paquetes ahora si añadiremos la clave GPG oficial de Docker. Por lo que con el siguiente comando:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
Nota: Como podrás observas hacemos uso de la ruta de carpetas creadas en el punto 2.1.
3.- Ahora nos toca configurar el repositorio stable, por lo que utiliza el siguiente comando:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Nota: Se te solicitara la contraseña de tu usuario.
3.1.- Podemos listar y ver el nuevo repositorio stable de docker que se ha añadido con el siguiente comando:
ls -l /etc/apt/sources.list.d/
Ahora toca instalar Docker Engine
4.- De nueva cuenta actualizaremos el índice del paquete apt y posteriormente instalar la última versión de Docker Engine, containerd y Docker Compose.
4.1.- Actualicemos los repositorios con:
sudo apt-get update
4.2.- Ya actualizado los repositorios, pasaremos a instalar Docker CE, donde se descargaran archivos y posteriormente se desempaquetaran para su instalación:
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
4.3.- Una vez instalados, podemos comprobar la versión que nos ha instalado de Docker, cabe resaltar que siempre se instalara la versión más alta posible:
sudo docker -v
5.- Iniciarlo con el sistema, habilitar el servicio para que se inicie con el sistema, cada vez que se reinicie la maquina se va a reiniciar el servicio:
sudo systemctl enable docker
Nota: Te solicitara tu contraseña de usuario.
Usar comando docker en la terminal sin anteponer "sudo"
6.- Agregar tu usuario al grupo docker te permitirá ejecutar los comandos de docker sin la necesidad de anteponer la palabra sudo que siempre te solicita Ubuntu en la terminal, haciendo esto podremos usar todos los comandos de docker en la terminal sin agregar la palabra sudo a cualesquiera de los comandos de docker. Algo muy practico y usado en ambientes linux.
6.1.- Por lo que primero es saber cual es el nombre de usuario a agregar al grupo de docker que usamos en la terminal, para lo que ejecutamos lo siguiente:
whoami
Nota: En mi caso la terminal me arrojo: sergio
6.2.- Agregar el nombre de mi usuario al grupo de docker para que pueda ejecutar los comandos, sin la necesidad de anteponer sudo:
sudo usermod -aG docker nombre_de_salida_de_comando_whoami
Nota: De nueva cuenta se te solicitara tu contraseña de usuario para validar dicho cambio.
6.3.- Y por último hay que proporcionan ayuda adicional para administrar archivos que necesitan mantener la propiedad del grupo de docker. Es necesario el siguiente comando para ya dejar de usar la palabra sudo y poder ejecutar cualquier comando de docker con el usuario agregado al grupo.
newgrp docker
Verificar que Docker Engine se instalo correctamente
7.- Y por último verificar que Docker Engine esté instalado correctamente ejecutando la imagen hello-world.
docker run hello-world
El anterior comando descarga una imagen de prueba y la ejecuta en un contenedor. Cuando se ejecuta el contenedor, imprime un mensaje como el siguiente:
Nota: Como podrás observar, ya no tuve la necesidad de anteponer la palabra sudo al ejecutar el comando de docker en la terminal, si omites el paso 6, tendrás que ejecutar el comando de la siguiente forma: sudo docker run hello-world
Conclusión para quienes comenzamos con Docker
Con esto concluimos el tutorial de instalar Docker CE en Ubuntu 22.04 LTS Jammy, y como notaran al leer esta publicación soy nuevo en Docker, por lo que pido paciencia y serán bienvenidas todas las criticas para mejorar este tutorial y espero comentarles en futuras entradas si debo de agradecer a Laragon el que no haya tenido una versión para Linux ya que con esto me ha obligado a buscar y aprender una nueva herramienta donde a mi parecer me ofreciera algo parecido a la manera de trabajar con Laragon en Windows.
Cabe recalcar que Docker no es lo mismo que Laragon, y ya comentare en publicaciones futuras las experiencias que me deja el conocer Docker, el trabajar con el y conocerlo ya que considero que sera una parte importante en el desarrollo de proyectos a futuro.
Saludos a quien lean y comiencen con Docker y muy buena vibra a todos. Que la fuerza te acompañe.
Aquí les dejo la documentación oficial: Install Docker Engine on Ubuntu.
Deja una respuesta