Cómo instalar Docker on Ubuntu 26.04 LTS
Docker es una de las herramientas más utilizadas para ejecutar aplicaciones en contenedores. Permite empaquetar una aplicación junto con todas sus dependencias en un entorno aislado y ejecutarla de la misma manera en cualquier máquina: local, de prueba o de producción. Por eso Docker Se utiliza en el desarrollo, en los pipelines de CI/CD y al desplegar microservicios.
Ubuntu La versión 26.04 LTS se lanzó en abril de 2026 e incluyó un conjunto actualizado de bibliotecas del sistema. Linux kernel 6.14 y soporte a largo plazo hasta 2031. En este artículo, veremos cómo instalarlo. Docker Motor y Docker Compón sobre una base nueva Ubuntu En el sistema 26.04, configúrelo para que se ejecute sin privilegios de superusuario y verifique que la instalación sea correcta.
Conceptos clave
Antes de pasar a los comandos, vale la pena definir los términos, especialmente si está trabajando con Docker por primera vez.
Envase — Un contenedor es un proceso aislado que se ejecuta en el espacio de usuario. Utiliza el núcleo del sistema operativo anfitrión, pero tiene su propio sistema de archivos, pila de red y variables de entorno. A diferencia de una máquina virtual, un contenedor no emula hardware; trabaja directamente con el núcleo, por lo que se inicia rápidamente y consume menos recursos.
Imagen — una plantilla a partir de la cual se crea un contenedor. Una imagen incluye el sistema operativo, la aplicación y sus dependencias, organizados en una estructura por capas. Las imágenes son inmutables: cada vez que se ejecuta la misma imagen, se obtiene el mismo contenedor.
Docker Circuladores — un registro público de imágenes. Almacena imágenes oficiales para Nginx, PostgreSQL, Node.js y miles de otros. Puedes usar imágenes prediseñadas o publicar las tuyas propias.
Docker Motor — el componente central de la plataforma. Consta de: dockerd demonio, un REST API, y estibador Cliente de línea de comandos. El motor es responsable de crear, iniciar y detener los contenedores.
Docker Redactar — una herramienta para definir y ejecutar aplicaciones multicontenedor mediante un archivo YAML. En lugar de iniciar cada contenedor manualmente con un comando independiente, se describe toda la infraestructura en un solo archivo y se inicia con un único comando.
contenedor — un entorno de ejecución de contenedores de bajo nivel que Docker El motor depende de. Empezando por Docker A partir de la versión 20, se instala como un paquete independiente y se gestiona de forma independiente.
Cómo Docker funciona
Docker utiliza varios Linux Mecanismos del núcleo para aislar los procesos entre sí y del sistema anfitrión.
Los espacios de nombres limitar el alcance de los procesos: cada contenedor ve solo su propio sistema de archivos, sus propios procesos y su propia interfaz de red. cgrupos El mecanismo (grupos de control) limita el uso de recursos. CPU, memoria y E/S de disco. UniónFS Es responsable del sistema de archivos por capas de las imágenes: cada capa se almacena por separado y es reutilizada por diferentes imágenes, lo que ahorra espacio en disco.
Cuando corres el Docker Run comando, el cliente envía una solicitud al dockerd El demonio se conecta a través de un socket Unix. Comprueba si la imagen requerida existe localmente. Si no, la descarga del registro. Posteriormente, containerd crea el contenedor, configura las interfaces de red e inicia el proceso dentro del entorno aislado.
En la práctica, esto significa que una aplicación que se ejecuta en un contenedor desconoce los contenedores vecinos y no puede afectarlos accidentalmente. Al mismo tiempo, la comunicación entre contenedores es posible, a través de Docker redes virtuales o puertos publicados explícitamente.
Requisitos del sistema
Para instalar Docker on Ubuntu 26.04 LTS, necesitarás:
- Arquitectura de 64 bits: amd64, arm64, o brazo
- Al menos 2 GB de RAM (Se recomiendan 4 GB o más)
- Acceso a Internet para descargar paquetes e imágenes.
- Un usuario con sudo privilegios
Puedes comprobar la arquitectura del sistema con el comando:
uname -m
Si la salida es x86_64El sistema es adecuado. Asegúrese también de que el kernel esté actualizado:
uname -r
Ubuntu La versión 26.04 viene con el kernel 6.14, que es totalmente compatible con la versión actual. Docker versiones.
Paso a paso Docker
Paso 1. Elimine las versiones obsoletas.
Si es mayor Docker versiones o paquetes compatibles de UbuntuLos paquetes del repositorio oficial ya están instalados en la máquina, deben eliminarse. docker.io, docker-componer, o contenedor conflicto con el oficial Docker Paquetes de Inc.
for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove -y $pkg done
Los archivos de configuración y los datos no se eliminan. Si necesita una instalación limpia sin conservar los datos de contenedores anteriores, ejecute además:
sudo rm -rf /var/lib/docker sudo rm -rf /var/lib/containerd
En un sistema nuevo, puede omitir este paso.
Paso 2. Actualizar la base de datos de paquetes e instalar las dependencias.
Primero, actualice la lista de paquetes:
sudo apt-get update
Luego instale los paquetes necesarios para trabajar con HTTPRepositorios S y claves GPG:
sudo apt-get install -y \ ca-certificates \ curl \ gnupg \ lsb-release
Estos paquetes suelen estar ya presentes en Ubuntu 26.04, pero instalarlos garantiza explícitamente que estén disponibles.
Paso 3. Agrega el Docker Clave GPG
Docker distribuye paquetes firmados. Para que APT pueda verificar su autenticidad, debe agregar la clave GPG del repositorio:
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg |
sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
La clave se guarda en /etc/apt/llaveros/ — la ubicación estándar para las claves de repositorio de terceros que comienzan con Ubuntu 22.04.
Paso 4. Agregue el oficial Docker repositorio
Agregar el formulario Docker repositorio a la lista de fuentes APT:
echo
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg]
https://download.docker.com/linux/ubuntu
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" |
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
El comando determina automáticamente el nombre en clave de distribución a través del NOMBRE_EN_CÓDIGO_DE_VERSIÓN variable. Para Ubuntu 26.04, esto será quokka. Si Docker APT aún no ha añadido soporte explícito para esta versión, por lo que podría recurrir a la versión compatible más cercana; en ese caso, los paquetes actuales seguirán instalados.
Actualiza el índice de paquetes para que APT vea el nuevo repositorio:
sudo apt-get update
Paso 5. Instalar Docker Motor
Instale Docker Motor junto con sus componentes correspondientes:
sudo apt-get install -y
docker-ce
docker-ce-cli
containerd.io
docker-buildx-plugin
docker-compose-plugin
¿Qué incluye este conjunto?
- docker-ce - Docker El motor en sí (Edición Comunitaria)
- docker-ce-cli — el cliente de línea de comandos
- contenedord.io — el entorno de ejecución del contenedor
- complemento docker-buildx — una herramienta avanzada para la creación de imágenes con soporte multiplataforma
- complemento docker-compose - Docker Compose v2, integrado como un CLI plugin
Paso 6. Inicie y habilite el Docker servicio en Boot
Después de la instalación, el Docker El demonio debe iniciarse y agregarse al inicio del sistema para que se ejecute después de cada reinicio:
sudo systemctl enable docker
sudo systemctl start docker
Compruebe el estado:
sudo systemctl status docker
El resultado esperado contiene la línea Activo: activo (en ejecución)Si el servicio no se inicia, compruebe el registro:
sudo journalctl -u docker --no-pager -n 50
Paso 7. Verificar la instalación
Ejecute el hola-mundo contenedor de prueba: esta es la forma más rápida de asegurarse Docker está funcionando correctamente:
sudo docker run hello-world
Docker descargará la imagen mínima de Docker Conectar el hub e iniciar un contenedor que genere el siguiente mensaje:
Hello from Docker!
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
The Docker client contacted the Docker daemon.
The Docker daemon pulled the "hello-world" image from the Docker Hub.
The Docker daemon created a new container from that image...
The Docker daemon streamed that output to the Docker client...
La instalación se realizó correctamente. Ahora puede configurar el acceso sin sudo.
Paso 8. Usando Docker sin sudo
Por defecto, al interactuar con el Docker El demonio requiere privilegios de superusuario debido al socket Unix. /var/run/docker.sock pertenece a la estibador grupo. Añade tu usuario a ese grupo:
sudo usermod -aG docker $USER
Para que el cambio surta efecto, debe cerrar sesión y volver a iniciarla, o aplicar el grupo a la sesión actual:
newgrp docker
Compruebe que Docker funciona sin sudo:
docker run hello-world
Es importante entender: los usuarios en el estibador El grupo obtiene privilegios comparables a los del usuario root. Añada solo usuarios de confianza al grupo. En servidores de producción, este paso debe considerarse por separado.
Paso 9. Verificar Docker Redactar
Docker Compose v2 se instala como un CLI complemento y se invoca con Docker Compose (sin guion):
docker compose version
Ejemplo de salida:
Docker Compose version v2.27.0
La versión puede ser diferente; eso es normal. Si necesita compatibilidad con scripts más antiguos que llamen docker-componer Con un guion, puedes crear un enlace simbólico:
sudo ln -s /usr/libexec/docker/cli-plugins/docker-compose /usr/local/bin/docker-compose
Ejemplo práctico: correr Nginx en un recipiente
Para asegurarnos de que todo funciona correctamente, vamos a ejecutar una prueba sencilla. Nginx servidor web. Esta es una buena manera de comprobar no solo el Docker instalación, pero también redireccionamiento de puertos entre el contenedor y el host.
docker run -d -p 8080:80 --name test-nginx nginx:alpine
Analicemos las banderas:
- -d — ejecutar en modo independiente (segundo plano)
- -pág. 8080:80 — mapear el puerto 8080 del host al puerto 80 del contenedor
- --nombre test-nginx — Asigne un nombre al contenedor para facilitar su gestión.
- nginx:alpine — un alpino LinuxImagen basada en, tamaño mínimo
Comprueba que el contenedor esté en funcionamiento:
docker ps
Abra un navegador o realice una solicitud:
curl http://localhost:8080
El Nginx Se debería devolver la página de bienvenida. Detenga y elimine el contenedor de prueba:
docker stop test-nginx
docker rm test-nginx
Comandos útiles para el trabajo diario
Después de instalar DockerEs útil familiarizarse de inmediato con algunos comandos básicos, ya que se necesitan constantemente.
| Comando | ¿Qué hace? |
|---|---|
| docker ps | Muestra contenedores en ejecución |
| ventana acoplable ps -a | Todos los contenedores, incluidos los detenidos. |
| ventana acoplable | Lista de imágenes descargadas |
| estirar del estibador |
Descarga una imagen de Docker Circuladores |
| registros de Docker |
Ver registros del contenedor |
| Docker exec-it |
Ingrese un contenedor en ejecución |
| parada del acoplador |
Detener un contenedor |
| ventana acoplable rm |
Retire un contenedor obstruido |
| ventana acoplable rmi |
Eliminar una imagen |
| poda del sistema acoplable | Limpiar recursos no utilizados |
Posibles problemas de instalación
Repositorio no encontrado o no disponible
Si apt-get update El comando devuelve un error después de agregar el Docker repositorio, verifique manualmente el nombre en clave de la distribución:
. /etc/os-release && echo $VERSION_CODENAME
If Docker aún no ha añadido soporte para Ubuntu 26.04 en su repositorio, reemplazar $NOMBRE_EN_CÓDIGO_DE_VERSIÓN con noble, (Ubuntu 24.04) manualmente en el /etc/apt/sources.list.d/docker.list archivo. Los paquetes seguirán funcionando correctamente. Docker El motor no está vinculado a un motor específico. Ubuntu versiones en términos de dependencias.
El servicio no se inicia después de la instalación.
Esto a veces sucede debido a un conflicto con un proceso que ya está en ejecución. contenedor o bien otra implementación en tiempo de ejecución. Compruebe el estado:
sudo systemctl status containerd
sudo systemctl restart docker
Si el error se repite, consulte el diario completo:
sudo journalctl -u docker -f
Permiso denegado al trabajar sin sudo
Si los comandos aún requieren sudo después de agregar el usuario a la estibador grupo, es probable que la sesión no se haya actualizado. Cierre sesión completamente y vuelva a iniciarla, o aplique el grupo con el nuevo grupo docker comando. Puede verificar los grupos actuales del usuario con el grupos mando.
Que sigue
Después de instalar con éxito Docker En cuanto al motor, existen varias direcciones obvias para seguir trabajando. Si planea implementar aplicaciones multiservicio, comience con Docker Componer: definir los servicios en un docker-compose.yml archívelas y adminístrelas como una sola unidad. Para trabajar con sus propias imágenes, necesita aprender Dockerlisto para importar — el archivo que describe el proceso de creación de la imagen paso a paso.
Si la tarea consiste en administrar un clúster de contenedores en varias máquinas, el siguiente paso es Docker Enjambre o KubernetesAmbas herramientas utilizan Docker imágenes, tan básicas Docker El conocimiento solo será útil aquí.
En un servidor de producción, también conviene configurar la rotación de registros de contenedores. Por defecto, Docker escribe registros en archivos JSON sin límites de tamaño, lo que eventualmente puede llenar el disco. Agregue la siguiente configuración a /etc/docker/daemon.json:
{
"log-driver": "json-file",
"log-opts": {
"max-size": "50m",
"max-file": "3"
}
}
Después de modificar el archivo, reinicie el demonio:
sudo systemctl restart docker
Resumen
Nosotros instalamos Docker Motor y Docker componer en Ubuntu 26.04 LTS desde Dockerrepositorio oficial de , inició y verificó el demonio, configuró el acceso sin sudoy se probaron contenedores en ejecución. Todo el proceso tarda unos diez minutos en un sistema limpio.
Docker desde el repositorio oficial es preferible Ubuntu, docker.io Este paquete siempre está actualizado: las actualizaciones se publican más rápido y la versión del motor no depende del ciclo de lanzamiento de la distribución. Esto es importante para los sistemas de producción.
700
300
700
300
700
300