— Instalar Docker en Ubuntu 24.04
¡Bienvenidos, Tecnolocos! En este post os enseño a como instalar Docker en Ubuntu 24.04, es un proceso fundamental para quienes desean aprovechar al máximo la virtualización de contenedores en sus proyectos y aplicaciones. Docker facilita la creación, distribución y ejecución de aplicaciones en entornos aislados llamados contenedores, ofreciendo portabilidad y eficiencia. En este artículo, exploraremos paso a paso cómo instalar Docker en Ubuntu 24.04, asegurándonos de tener todo configurado correctamente para empezar a trabajar con contenedores de manera rápida y eficiente.
1. ¿Qué es Docker y por qué instalarlo?
Docker es una plataforma de software que permite la creación, el despliegue y la ejecución de aplicaciones en contenedores. Los contenedores son entornos ligeros y portables que encapsulan todo lo necesario para que una aplicación funcione, incluyendo el código, las bibliotecas y las dependencias.
Razones para instalar Docker:
- Portabilidad y Consistencia: Docker asegura que las aplicaciones se ejecuten de la misma manera sin importar el entorno. Esto elimina problemas de «funciona en mi máquina» al garantizar consistencia entre el desarrollo, las pruebas y la producción.
- Eficiencia: Los contenedores de Docker son ligeros y comparten el sistema operativo del host, lo que los hace rápidos de iniciar y detener. Esto mejora la eficiencia de los recursos de hardware y permite escalar aplicaciones con facilidad.
- Aislamiento y Seguridad: Cada contenedor de Docker corre de forma aislada, lo que significa que los recursos y procesos de una aplicación están protegidos y no interfieren con otros contenedores en el mismo host. Esto mejora la seguridad y reduce los conflictos entre aplicaciones.
- Facilidad de Gestión: Docker simplifica el proceso de gestión de aplicaciones al proporcionar herramientas para la creación, distribución y actualización de contenedores de manera eficiente y automatizada.
- Compatibilidad con Infraestructura Moderna: Docker es ampliamente compatible con arquitecturas de infraestructura modernas como la nube, lo que facilita la implementación de aplicaciones en entornos distribuidos y escalables.
2. Docker en Proxmox
Si estás utilizando Proxmox, puedes utilizar los scripts de Proxmox Helper Scripts para instalar docker y docker-compose. Igualmente, os voy a dejar aquí los comandos para que podías instalarlo desde 0.
3. Instalar docker en Ubuntu 24.04
Primero, actualice su lista de paquetes existente:
sudo apt-get update
A continuación, instale algunos paquetes de requisitos previos que permitan a apt
usar paquetes a través de HTTPS:
sudo apt install apt-transport-https ca-certificates curl software-properties-common
Luego, añada la clave de GPG para el repositorio oficial de Docker en su sistema:
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
Agregue el repositorio de Docker a las fuentes de APT:
echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \ $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
A continuación, actualice el paquete de base de datos con los paquetes de Docker del repositorio recién agregado:
sudo apt update
Asegúrese de estar a punto de realizar la instalación desde el repositorio de Docker en lugar del repositorio predeterminado de Ubuntu:
apt-cache policy docker-ce
Observe que docker-ce
no está instalado, pero la opción más viable para la instalación es del repositorio de Docker para Ubuntu 24.04 (noble
).
Ahora puedes utilizar el comando apt install
para añadir los componentes de Docker a tu sistema. Instalarás la última versión de Docker Community Edition (CE). Hay tres paquetes que instalar:
docker-ce
: el daemon del motor Dockerdocker-ce-cli
: la CLI de Docker con la que vas a interactuar.containerd.io
: el tiempo de ejecución del contenedor conocido como containerd que inicia y ejecuta tus contenedores.
sudo apt install docker-ce docker-ce-cli containerd.io
4. Comprobar la instalación de Docker
Con esto, Docker quedará instalado, el demonio se iniciará y el proceso se habilitará para ejecutarse en el inicio. Compruebe que funcione:
sudo systemctl status docker
El resultado debe ser similar al siguiente, y mostrar que el servicio está activo y en ejecución:
Output ● docker.service - Docker Application Container Engine Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled) Active: active (running) since Tue 2020-05-19 17:00:41 UTC; 17s ago TriggeredBy: ● docker.socket Docs: https://docs.docker.com Main PID: 24321 (dockerd) Tasks: 8 Memory: 46.4M CGroup: /system.slice/docker.service └─24321 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
5. (opcional) Ejecutar el comando Docker sin sudo
Por defecto, el comando docker
solo puede ser ejecutado por el usuario root o un usuario del grupo docker, que se crea automáticamente durante el proceso de instalación de Docker. Si intenta ejecutar el comando docker
sin sudo
como prefijo o sin formar parte del grupo docker, obtendrá un resultado como este:
Output docker: Cannot connect to the Docker daemon. Is the docker daemon running on this host?. See 'docker run --help'.
Si desea evitar escribir sudo
al ejecutar el comando docker
, agregue su nombre de usuario al grupo docker
:
sudo usermod -aG docker ${USER}
Para aplicar la nueva membresía de grupo, cierre la sesión del servidor y vuelva a iniciarla o escriba lo siguiente:
su - ${USER}
Para continuar, se le solicitará ingresar la contraseña de su usuario.
Confirme que ahora su usuario se agregó al grupo docker escribiendo lo siguiente:
id -nG
Si debe agregar al grupo docker
un usuario con el que no inició sesión, declare dicho nombre de usuario de forma explícita usando lo siguiente:
sudo usermod -aG docker username
Para el resto de este artículo, se supone que ejecutará el comando docker
como usuario del grupo docker. Si elige no hacerlo, incluya sudo
al principio de los comandos.
A continuación, exploremos el comando docker
.
6. Usar el comando Docker
El uso de docker
consiste en pasar a este una cadena de opciones y comandos seguida de argumentos. La sintaxis adopta esta forma:
docker [option] [command] [arguments]
Para ver todos los subcomandos disponibles, escriba lo siguiente:
docker
A partir de Docker 19, en la lista completa de subcomandos disponibles se incluye lo siguiente:
Output attach Attach local standard input, output, and error streams to a running container build Build an image from a Dockerfile commit Create a new image from a container's changes cp Copy files/folders between a container and the local filesystem create Create a new container diff Inspect changes to files or directories on a container's filesystem events Get real time events from the server exec Run a command in a running container export Export a container's filesystem as a tar archive history Show the history of an image images List images import Import the contents from a tarball to create a filesystem image info Display system-wide information inspect Return low-level information on Docker objects kill Kill one or more running containers load Load an image from a tar archive or STDIN login Log in to a Docker registry logout Log out from a Docker registry logs Fetch the logs of a container pause Pause all processes within one or more containers port List port mappings or a specific mapping for the container ps List containers pull Pull an image or a repository from a registry push Push an image or a repository to a registry rename Rename a container restart Restart one or more containers rm Remove one or more containers rmi Remove one or more images run Run a command in a new container save Save one or more images to a tar archive (streamed to STDOUT by default) search Search the Docker Hub for images start Start one or more stopped containers stats Display a live stream of container(s) resource usage statistics stop Stop one or more running containers tag Create a tag TARGET_IMAGE that refers to SOURCE_IMAGE top Display the running processes of a container unpause Unpause all processes within one or more containers update Update configuration of one or more containers version Show the Docker version information wait Block until one or more containers stop, then print their exit codes
Si desea ver las opciones disponibles para un comando específico, escriba lo siguiente:
docker docker-subcommand --help
Para ver información sobre Docker relacionada con todo el sistema, utilice lo siguiente:
docker info
Pues ya habríamos completado la instalación de docker, en un siguiente post instalaremos docker-compose