Instrucción ENTRYPOINT Dockerfile

instruccion-entrypoint-dockerfile
instruccion-entrypoint-dockerfile

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ónCuándo usarlo
ENTRYPOINT soloCuando quieres fijar siempre el ejecutable.
ENTRYPOINT + CMDCuando quieres ejecutable fijo con argumentos por defecto reemplazables.
CMD soloCuando 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.8

El 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

Documentación oficial y recursos

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.

Comentarios

No hay comentarios aún. ¿Por qué no comienzas el debate?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *