Introducción
¡Ahoy, lingüista de Docker! Ya has dominado el arte de hacer hablar a la ballena de Docker, pero ¿podrás hacer que sea políglota? En este desafío, crearás una imagen de Docker que utiliza variables de entorno para cambiar el idioma del saludo de la ballena. ¡Prepárate para darle a nuestra amiga cetácea una voz global!
Crea una ballena políglota
Imagina que estás desarrollando una aplicación multilingüe y necesitas una forma de probar rápidamente tu configuración de Docker en diferentes entornos de idioma. ¡Ahí es donde entra nuestra ballena políglota!
En este desafío, llevarás tus habilidades de Docker al siguiente nivel creando un contenedor flexible y consciente del idioma. Utilizarás variables de entorno —una herramienta fundamental en el ecosistema Docker— para cambiar dinámicamente el idioma del saludo de nuestra simpática ballena.
Antes de sumergirnos, preparemos tu entorno de trabajo. Dirígete al directorio ~/project/docker en tu terminal. Allí encontrarás algunos archivos iniciales cortesía de tu mentor de Docker. Estos archivos te darán una ventaja inicial, permitiéndote concentrarte en los conceptos centrales de este reto.
¿Listo para darle a nuestra amiga marina una voz internacional? ¡Hagamos olas en el mundo de los contenedores multilingües!
Tareas
Tu misión lingüística, si decides aceptarla, consiste en:
- Examinar el script
entrypoint.shproporcionado para entender cómo gestiona los diferentes idiomas. - Modificar el
Dockerfilepara incorporar el scriptentrypoint.shy configurar las variables de entorno. - Construir una imagen de Docker a partir de tu Dockerfile completado.
- Ejecutar contenedores basados en tu imagen, experimentando con diferentes configuraciones de idioma.
Requisitos
Para completar con éxito este desafío, debes:
- Usar
docker/whalesaycomo imagen base en tu Dockerfile. - Crear una variable de entorno llamada
WHALE_LANGUAGEen tu Dockerfile, con el valor predeterminado "English". - Utilizar la instrucción
COPYen tuDockerfilepara copiar el scriptentrypoint.shproporcionado al directorio raíz (/) de tu imagen, nombrándolo/entrypoint.sh. Asegúrate de que tenga permisos de ejecución y establécelo como elENTRYPOINT. - Construir tu imagen con la etiqueta
polyglot-whale. - Ejecutar tu contenedor configurando la variable de entorno para que la ballena hable tanto en inglés como en español.
- Ejecutar todos los comandos dentro del directorio
~/project/docker.
Recuerda que el script entrypoint.sh ya te ha sido proporcionado. Tu tarea principal es crear un Dockerfile que utilice correctamente este script y permita la personalización del idioma a través de variables de entorno.
Ejemplo
Cuando ejecutes tu contenedor con el idioma español seleccionado, deberías ver una salida similar a esta:
docker run -e WHALE_LANGUAGE=Spanish polyglot-whale
_________
< ¡Hola! >
---------
\
\
\
### .
### ### ### ==
### ### ### ### ===
/""""""""""""""""___/ ===
~~~ {~~ ~~~~ ~~~ ~~~~ ~~ ~ / ===- ~~~
\______ o __/
\ \ __/
\____\______/
Y cuando se ejecute con la configuración predeterminada en inglés:
docker run polyglot-whale
_________
< Hello! >
---------
\
\
\
### .
### ### ### ==
### ### ### ### ===
/""""""""""""""""___/ ===
~~~ {~~ ~~~~ ~~~ ~~~~ ~~ ~ / ===- ~~~
\______ o __/
\ \ __/
\____\______/
Resumen
En este desafío, has ampliado tus conocimientos de Docker creando una imagen que utiliza variables de entorno para su configuración. Has aprendido a:
- Utilizar variables de entorno en un Dockerfile para establecer valores por defecto.
- Crear un script de shell sencillo para que actúe como punto de entrada (entrypoint) de tu contenedor.
- Sobrescribir variables de entorno al ejecutar un contenedor.
Estas habilidades son fundamentales para crear imágenes de Docker flexibles y configurables que puedan adaptarse a diferentes entornos o casos de uso. A medida que continúes tu camino con Docker, recuerda que las variables de entorno son una herramienta poderosa para hacer que tus contenedores sean más versátiles y fáciles de gestionar en diversos escenarios de despliegue. ¡Sigue explorando y disfruta comunicándote con la ballena!



