30/05/2018
Docker se ha convertido en una herramienta fundamental en el mundo del desarrollo de software. Su capacidad para crear, desplegar y ejecutar aplicaciones dentro de contenedores aislados garantiza que el software se comporte de manera fiable en diferentes entornos, desde el portátil de un desarrollador hasta la nube. Sin embargo, incluso las herramientas más robustas pueden presentar obstáculos, y uno de los más comunes y desconcertantes para los recién llegados es el error 'docker: command not found'. Este error puede detener tu flujo de trabajo por completo, pero la buena noticia es que sus causas suelen ser sencillas y su solución, directa. En este artículo, desglosaremos por qué aparece este mensaje y te guiaremos a través de los métodos más efectivos para resolverlo y poner en marcha tus contenedores.

Entendiendo las Causas del Error 'docker: command not found'
Aunque puede ser frustrante y hacerte dudar de tu configuración, este error generalmente se debe a un par de culpables muy específicos. Comprender la raíz del problema es el primer paso para aplicar la solución correcta.
- Instalación de Docker Ausente: La causa más obvia y frecuente es, simplemente, que Docker no está instalado en tu sistema. A menudo, asumimos que una herramienta tan popular ya viene preinstalada o que la instalamos en el pasado y lo olvidamos. En sistemas basados en Debian/Ubuntu, el propio terminal suele ofrecer pistas, sugiriendo comandos para instalar Docker a través de Snap o el gestor de paquetes APT.
- Ruta de Docker ($PATH) Incorrecta: La variable de entorno $PATH es crucial en los sistemas operativos tipo Unix. Le dice al shell (la línea de comandos) en qué directorios buscar archivos ejecutables cuando escribes un comando. Durante una instalación estándar, el ejecutable de Docker se añade automáticamente a esta ruta. Sin embargo, si Docker se instaló en una ubicación no convencional o si la configuración de la variable $PATH se modificó manualmente, el shell no sabrá dónde encontrar el comando 'docker', resultando en el error 'command not found'.
Guía Paso a Paso para Solucionar el Error
Ahora que conocemos las causas probables, veamos las soluciones prácticas para que puedas volver a utilizar Docker sin interrupciones.
Solución 1: Verificar e Instalar Docker
Lo primero es lo primero: debemos confirmar si Docker está realmente instalado en nuestro sistema. La forma más rápida de hacerlo es intentar verificar su versión. Abre tu terminal y ejecuta:
docker --versionSi recibes una respuesta con un número de versión (por ejemplo, 'Docker version 20.10.17, build 100c701'), Docker está instalado y puedes saltar a las siguientes soluciones. Si, por el contrario, ves el error 'command not found', es hora de instalarlo. A continuación, te mostramos cómo hacerlo en las distribuciones de Linux más populares.
Instalación en Debian / Ubuntu
Para sistemas basados en Debian como Ubuntu, el proceso es muy sencillo utilizando el gestor de paquetes APT.
1. Primero, actualiza la lista de paquetes para asegurarte de que tienes acceso a las últimas versiones disponibles:
sudo apt update2. A continuación, instala el paquete `docker.io`, que es la versión de Docker disponible en los repositorios oficiales de Ubuntu:
sudo apt install docker.io -yUna vez finalizada la instalación, el servicio de Docker debería iniciarse automáticamente. Puedes verificarlo con el comando `sudo systemctl status docker`.
Instalación en Distribuciones Basadas en RHEL (CentOS, Fedora)
En sistemas como CentOS, Fedora o Red Hat Enterprise Linux, el proceso requiere añadir primero el repositorio oficial de Docker.

1. Instala el paquete `yum-utils`, que proporciona la herramienta `yum-config-manager`:
sudo yum install yum-utils2. Ahora, añade el repositorio oficial de Docker a tu sistema:
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo3. Finalmente, instala la última versión de Docker Engine (docker-ce), la CLI y containerd:
sudo yum install docker-ce docker-ce-cli containerd.io -yA diferencia de Debian, en las distribuciones RHEL, el servicio de Docker no se inicia por defecto. Debes iniciarlo manualmente:
sudo systemctl start dockerTambién puedes habilitarlo para que se inicie automáticamente cada vez que arranque el sistema con `sudo systemctl enable docker`.
Instalación en Arch Linux
Los usuarios de Arch Linux y sus derivados (como Manjaro) pueden instalar Docker directamente desde los repositorios oficiales usando pacman.
1. Asegúrate de que tu sistema está completamente actualizado:
sudo pacman -Syu2. Instala el paquete de Docker:
sudo pacman -S docker3. Al igual que en RHEL, necesitas iniciar el daemon de Docker manualmente:
sudo systemctl start dockerTabla Comparativa de Instalación
| Distribución | Comando de Instalación Principal | Iniciar Servicio |
|---|---|---|
| Debian / Ubuntu | sudo apt install docker.io -y | Automático |
| RHEL / CentOS / Fedora | sudo yum install docker-ce ... -y | sudo systemctl start docker |
| Arch Linux | sudo pacman -S docker | sudo systemctl start docker |
Solución 2: Añadir Docker a la Variable de Entorno $PATH
Si has confirmado que Docker está instalado pero el error persiste, es muy probable que el problema resida en la variable $PATH. Para comprobarlo, puedes preguntar al sistema dónde se encuentra el ejecutable de Docker:
which dockerLa salida esperada debería ser algo como `/usr/bin/docker`. Si no obtienes ninguna salida o la ruta es diferente, necesitas añadir la ubicación correcta a tu $PATH. Asumiendo que la ruta correcta es `/usr/bin/docker`, sigue estos pasos:
1. Abre el archivo de configuración de tu shell. Para la mayoría de los usuarios que usan bash, este es `~/.bashrc`:
nano ~/.bashrc2. Ve al final del archivo y añade la siguiente línea. Esto le indica al shell que incluya el directorio de Docker en su lista de lugares para buscar comandos:
export PATH="$PATH:/usr/bin/docker"3. Guarda el archivo (Ctrl+O en nano) y ciérralo (Ctrl+X). Para que los cambios surtan efecto inmediatamente en tu sesión de terminal actual, recarga la configuración:
source ~/.bashrcDespués de esto, intenta ejecutar `docker --version` de nuevo. El error debería haber desaparecido.
Solución 3: Reiniciar el Demonio (Daemon) de Docker
A veces, el servicio de Docker puede estar en un estado inconsistente o no haberse iniciado correctamente. Un simple reinicio puede solucionar problemas inesperados, incluido el de no encontrar el comando si el socket no está disponible.
1. Para reiniciar el servicio de Docker, utiliza systemctl:
sudo systemctl restart docker2. Después de reiniciarlo, es una buena práctica verificar su estado para asegurarse de que está activo y funcionando sin errores:
sudo systemctl status dockerDeberías ver una salida que indica `Active: active (running)`. Si el servicio está funcionando correctamente, el sistema debería ser capaz de encontrar y ejecutar los comandos de Docker sin problemas.
Preguntas Frecuentes (FAQ)
- ¿Por qué necesito `sudo` para ejecutar los comandos de Docker?
- Por defecto, el daemon de Docker se enlaza a un socket de Unix en lugar de a un puerto TCP. Este socket es propiedad del usuario `root`, y otros usuarios solo pueden acceder a él usando `sudo`. Para evitar escribir `sudo` cada vez, puedes añadir tu usuario al grupo `docker`, que se crea durante la instalación. El comando para hacerlo es `sudo usermod -aG docker $USER`. Después de ejecutarlo, necesitarás cerrar sesión y volver a iniciarla para que el cambio surta efecto.
- Instalé Docker, pero el error persiste incluso después de reiniciar el terminal. ¿Qué hago?
- Si la instalación fue correcta, el problema casi seguro es la variable $PATH. Vuelve a verificar con `which docker` para ver si el sistema puede localizar el binario. Si no puede, revisa los pasos para editar tu archivo `.bashrc` o el archivo de configuración de tu shell correspondiente (como `.zshrc` si usas Zsh) para asegurarte de que la ruta al ejecutable de Docker esté incluida correctamente.
- ¿Cuál es la diferencia entre `docker.io` y `docker-ce`?
- `docker.io` es el nombre del paquete que se encuentra en los repositorios oficiales de distribuciones como Debian y Ubuntu. `docker-ce` (Community Edition) es el paquete proporcionado directamente por Docker desde sus propios repositorios oficiales. Generalmente, `docker-ce` ofrece versiones más recientes, mientras que `docker.io` puede ser una versión más antigua pero probada y mantenida por la distribución.
En conclusión, el error 'docker: command not found' es un obstáculo común pero superable. Siguiendo metódicamente los pasos de verificación y solución de problemas descritos en esta guía, desde asegurar una correcta instalación hasta configurar adecuadamente la variable $PATH, podrás resolver el problema eficazmente y continuar aprovechando el poder de la contenerización en tus proyectos.
Si quieres conocer otros artículos parecidos a Solucionando el error 'docker: command not found' puedes visitar la categoría Automovilismo.

