Instalar docker y grupo de usuraio
Sí, definitivamente hay una forma más recomendada y actualizada de instalar Docker. El comando sudo apt-get install docker.io -y que estás usando instala la versión que viene en los repositorios oficiales de Ubuntu, la cual suele ser antigua y no recibe las actualizaciones más recientes.
La forma estándar y recomendada por Docker es instalar Docker Engine desde su repositorio oficial APT. Esto te garantiza la versión más reciente y estable.
Aquí te explico cómo hacerlo paso a paso.
1. Desinstalar la versión anterior (importante)
Antes de instalar la nueva, es mejor eliminar el paquete antiguo para evitar conflictos.
sudo apt remove docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runcNota: Este comando no eliminará tus imágenes, contenedores o volúmenes, que se guardan en
/var/lib/docker/.
2. Instalar Docker desde el repositorio oficial
Sigue estos pasos para configurar el repositorio oficial e instalar Docker.
Actualiza los paquetes e instala las dependencias necesarias:
sudo apt update sudo apt install ca-certificates curl -yAgrega la clave GPG oficial de Docker:
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.ascAgrega el repositorio oficial 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/nullActualiza el índice de paquetes e instala Docker:
sudo apt update sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y
3. Verificar la instalación
Para confirmar que todo ha ido bien, puedes ejecutar el contenedor de prueba:
sudo docker run hello-world4. (Opcional) Ejecutar Docker sin sudo
Como viste en el tutorial, para no tener que escribir sudo cada vez, puedes agregar tu usuario al grupo docker:
sudo usermod -aG docker $USERRecuerda cerrar sesión y volver a abrir la terminal para que los cambios tengan efecto.
En resumen
| Método | Comando | Ventajas |
|---|---|---|
| Repositorio de Ubuntu | sudo apt install docker.io | Fácil, pero versión desactualizada. |
| Repositorio Oficial | (Pasos descritos arriba) | Versión más reciente, actualizaciones automáticas, es el método estándar. |
Te recomiendo cambiar a este método.
Agregar tu usuario al grupo docker
Paso 1: Crear el grupo docker (si no existe)
sudo groupadd docker(Probablemente ya existe, pero no está de más ejecutarlo.)
Paso 2: Agregar tu usuario al grupo docker
sudo usermod -aG docker $USERReemplaza $USER con tu nombre de usuario (o usa $USER que es una variable que contiene tu nombre).
Si tu usuario es soteLo, sería:
sudo usermod -aG docker soteLoPaso 3: Aplicar los cambios
Hay varias formas de que los cambios surtan efecto:
Cerrar sesión y volver a abrir (la más segura).
O usar el comando:
newgrp dockerEsto inicia una nueva sesión de shell con el grupo actualizado.
O reiniciar el servicio de Docker (aunque no es necesario):
sudo systemctl restart docker
Recomendación: si estás en una terminal gráfica, simplemente cierra la ventana y abre una nueva. Si estás en una sesión SSH, sal y vuelve a entrar.
Paso 4: Verificar que todo funciona
Ejecuta:
docker psAhora deberías ver la lista de contenedores (aunque esté vacía, no dará error).
También puedes ver todos los contenedores, incluido el hello-world que creaste con sudo:
docker ps -aDeberías ver algo como:
CONTAINER ID IMAGE COMMAND CREATED STATUS NAMES
xxxxxxxxxxxx hello-world "/hello" 5 minutes ago Exited (0) 2 minutes ago some-name¿Por qué antes no veías el contenedor?
Cuando ejecutaste docker ps -a sin sudo, el comando falló por permisos, pero el contenedor hello-world sí existe, solo que no podías verlo. Si ejecutas sudo docker ps -a, verás que el contenedor está ahí. Pero ya con los permisos arreglados, podrás verlo sin sudo.
Alternativa (no recomendada para el día a día)
Si por alguna razón no quieres agregar tu usuario al grupo docker, puedes seguir usando sudo para todos los comandos de Docker:
sudo docker ps -a
sudo docker exec -it ...Pero es más incómodo y puede causar problemas de permisos con los archivos generados (porque pertenecerán a root). Es mejor usar el grupo docker.
Resumen de la solución
Crear el grupo (si no existe):
sudo groupadd dockerAgregar usuario:
sudo usermod -aG docker $USERAplicar cambios: cerrar sesión y volver a abrir terminal (o usar
newgrp docker).Verificar:
docker psya no da error.
¡Haz eso y podrás usar Docker sin sudo!
Comentarios
Publicar un comentario