En esta lección aprenderás instrucción ENTRYPOINT Dockerfile, la instrucción que fija el ejecutable principal de una imagen y permite construir contenedores que se comportan como comandos.
ENTRYPOINT se parece a CMD porque afecta al arranque del contenedor, pero no cumple exactamente la misma función. CMD suele aportar valores por defecto; ENTRYPOINT suele fijar el programa principal.
👉 Y recuerda, si quieres aprender más de Linux, pincha en este curso de Linux gratis
🐳 Si quieres aprender más de Docker, pincha en este curso de Docker gratis
Qué hace la instrucción ENTRYPOINT Dockerfile
Problema: algunas imágenes deben comportarse como una herramienta concreta. Quieres que al ejecutar el contenedor siempre arranque ese ejecutable, aunque el usuario cambie argumentos.
Qué aporta Docker: ENTRYPOINT define el ejecutable principal. Si lo combinas con CMD, CMD puede actuar como lista de argumentos por defecto.
| Patrón | Cuándo usarlo |
|---|---|
| ENTRYPOINT solo | Cuando quieres fijar siempre el ejecutable. |
| ENTRYPOINT + CMD | Cuando quieres ejecutable fijo con argumentos por defecto reemplazables. |
| CMD solo | Cuando quieres un comando por defecto fácil de sustituir. |
Ejemplo práctico
FROM alpine:3.20
ENTRYPOINT ["ping"]
CMD ["-c", "4", "1.1.1.1"]docker build -t entrypoint-demo:1.0 .
docker run --rm entrypoint-demo:1.0
docker run --rm entrypoint-demo:1.0 -c 2 8.8.8.8El primer docker run usa los argumentos por defecto de CMD. El segundo mantiene ping como ENTRYPOINT, pero reemplaza los argumentos por otros valores.
Errores comunes
- Confundir ENTRYPOINT con CMD: CMD se sustituye fácilmente; ENTRYPOINT fija el ejecutable principal.
- Usar shell form sin necesidad: puede dificultar el manejo correcto de señales.
- No permitir argumentos: una imagen rígida puede ser incómoda de usar.
- Meter lógica compleja en un script sin exec: el proceso puede no recibir señales correctamente.
Advertencia: si usas un script como entrypoint, termina lanzando el proceso principal con exec para que reciba señales de parada correctamente.
Lecciones relacionadas del curso Docker
- Instrucción CMD Dockerfile
- Diferencia entre CMD y ENTRYPOINT
- Instrucción RUN Dockerfile
- Instrucción USER Dockerfile
- Cómo ejecutar comandos dentro de un contenedor
Documentación oficial y recursos
- Referencia oficial de ENTRYPOINT
- Referencia oficial de CMD
- Recomendaciones oficiales sobre procesos en contenedores
La instrucción ENTRYPOINT Dockerfile queda bien usada cuando fija claramente el ejecutable principal y deja que CMD aporte argumentos por defecto cuando tenga sentido.
Después de esta lección, la comparación entre CMD y ENTRYPOINT te ayudará a decidir cuál conviene en cada imagen.

