Comprender la bandera del punto de entrada en Docker
- Comprender la instrucción de punto de entrada
- Usar la bandera de punto de entrada para pasar argumentos
- Conclusión
Usamos el indicador de punto de entrada (--entrypoint
) en el comando docker run
para especificar el comando que se ejecutará cuando iniciemos un contenedor Docker. Esta bandera nos permite personalizar el comportamiento del contenedor y determinar el comando que Docker ejecutará de antemano.
Este artículo discutirá una descripción general de la instrucción del punto de entrada y Docker la usa cuando ejecuta el comando docker run
.
Comprender la instrucción de punto de entrada
De forma predeterminada, el punto de entrada para un contenedor Docker es la instrucción CMD
en el archivo Docker utilizado para construir la imagen. La instrucción CMD
especifica el comando predeterminado que ejecuta Docker cuando inicia el contenedor.
Por ejemplo, el siguiente Dockerfile define el punto de entrada predeterminado para la imagen como el comando echo
.
FROM ubuntu:18.04
CMD ["echo", "Hello, World!"]
Podemos usar los comandos docker build
y docker run
para construir la imagen y ejecutar un contenedor basado en la imagen.
Código de ejemplo:
docker build -t my-image .
docker run my-image
En este ejemplo, el comando docker run
iniciará un contenedor basado en la imagen my-image
y ejecutará el comando echo
como punto de entrada del contenedor. El comando anterior imprimirá el mensaje "¡Hola, mundo!"
en la consola.
Sin embargo, si queremos especificar un punto de entrada diferente para el contenedor, podemos usar la opción --entrypoint
al ejecutar el comando docker run
.
Código de ejemplo:
docker run --entrypoint /bin/sh my-image:latest
Usar la bandera de punto de entrada para pasar argumentos
En este comando, la opción --entrypoint
especifica el punto de entrada del contenedor como el comando /bin/sh
. Este comando anula el punto de entrada predeterminado especificado en el Dockerfile.
Hace que /bin/sh
ejecute el comando cuando Docker inicia el contenedor en lugar del CMD definido dentro del Dockerfile.
Además de especificar el punto de entrada de un contenedor, también podemos usar el indicador de punto de entrada para pasar argumentos al comando de punto de entrada.
Código de ejemplo:
docker run --entrypoint /bin/sh my-image:latest -c
El comando docker run --entrypoint
usa la siguiente sintaxis.
docker run --entrypoint <entrypoint.sh> <image:tag> <arg1> <arg2> <arg3>
Conclusión
Ejecutamos el comando con un indicador --entrypoint
para ayudar a especificar el shell de comando predeterminado en un contenedor iniciado. Docker lo usa para personalizar el comportamiento del contenedor y ejecutar comandos o scripts específicos en su primer uso.
Este indicador puede ser útil cuando se ejecutan contenedores en un entorno de producción, donde es posible que desee asegurarse de que el contenedor siempre se inicie y ejecute un comando específico.
Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.
LinkedIn