Introducción
Punto de entrada y CMD son instrucciones en el Dockerfile que definen el proceso en una imagen de Docker. Puede usar uno o combinar ambos según cómo desee ejecutar su contenedor.
Una diferencia es que, a diferencia de CMD
, no puede anular el ENTRYPOINT
comando simplemente agregando nuevos parámetros de línea de comando. Para anular ENTRYPOINT, debe modificar docker run
comando siguiendo una sintaxis específica.
En este tutorial, aprenderá a anular ENTRYPOINT mediante el comando de ejecución de la ventana acoplable.

Requisitos previos
- Acceso a una línea de comando
- Un usuario con sudo privilegios
- Una instancia de Docker en ejecución
- Una imagen de Docker existente
Anular ENTRYPOINT con docker run
Para ilustrar cómo anular este comando, vamos a ejecutar un contenedor que repite el mensaje Hello World
combinando ENTRYPOINT y CMD en Dockerfile.
En el Dockerfile, el ENTRYPOINT
comando define el ejecutable, mientras que CMD
establece el parámetro predeterminado.
FROM ubuntu
MAINTAINER sofija
RUN apt-get update
ENTRYPOINT [“echo”, “Hello”]
CMD [“World”]
Si crea una imagen a partir de este archivo y la usa para ejecutar un contenedor Docker, el resultado muestra:

Puede anular fácilmente la CMD predeterminada agregando el parámetro deseado a docker run
comando:
sudo docker run [container_name] [new_parameter]
En el siguiente ejemplo, cambiamos el parámetro CMD World
, agregando Sofija
al mando. Como resultado, la salida muestra Hello Sofija
.

Sin embargo, es posible que desee anular el ejecutable predeterminado y, por ejemplo, ejecutar un shell dentro de un contenedor. En ese caso, debe usar el --entrypoint
marca y ejecuta el contenedor usando la siguiente sintaxis:
sudo docker run --entrypoint [new_command] [docker_image] [optional:value]
Para anular el mensaje de eco predeterminado en nuestro ejemplo y ejecutar el contenedor de forma interactiva, usamos el comando:
sudo docker run -it --entrypoint /bin/bash [docker_image]
El resultado nos muestra que ahora estamos dentro del contenedor.
