Введение
Приветствуем вас, лингвист Docker! Вы уже научили кита Docker разговаривать, но сможете ли вы сделать его полиглотом? В этом испытании вы создадите Docker-образ, который использует переменные окружения для смены языка приветствия кита. Приготовьтесь наделить нашего морского друга голосом, понятным во всем мире!
Создание кита-полиглота
Представьте, что вы разрабатываете многоязычное приложение и вам нужен способ быстро протестировать настройки Docker в различных языковых средах. Именно здесь нам пригодится кит-полиглот!
В этом испытании вы поднимете свои навыки работы с Docker на новый уровень, создав гибкий контейнер, учитывающий языковые настройки. Вы будете использовать переменные окружения — мощный инструмент в экосистеме Docker — для динамического изменения языка приветствия нашего дружелюбного кита.
Прежде чем приступить, давайте подготовим рабочую среду. Перейдите в директорию ~/project/docker в терминале. Там вы найдете стартовые файлы, подготовленные вашим наставником по Docker. Эти файлы дадут вам фору и позволят сосредоточиться на основных концепциях этого задания.
Готовы дать нашему киту международный голос? Давайте создадим волну в мире многоязычных контейнеров!
Задачи
Ваша лингвистическая миссия, если вы решите ее принять:
- Изучить предоставленный скрипт
entrypoint.sh, чтобы понять, как он обрабатывает различные языки. - Модифицировать
Dockerfile, чтобы включить в него скриптentrypoint.shи настроить переменные окружения. - Собрать Docker-образ на основе готового Dockerfile.
- Запустить контейнеры из вашего образа, экспериментируя с различными языковыми настройками.
Требования
Для успешного прохождения испытания необходимо:
- Использовать
docker/whalesayв качестве базового образа в вашем Dockerfile. - Создать переменную окружения с именем
WHALE_LANGUAGEв Dockerfile со значением по умолчанию "English". - Использовать инструкцию
COPYвDockerfile, чтобы скопировать предоставленный скриптentrypoint.shв корневой каталог (/) образа под именем/entrypoint.sh. Убедитесь, что у него есть права на выполнение, и установите его в качествеENTRYPOINT. - Собрать образ с тегом
polyglot-whale. - Запустить контейнер с установленной переменной окружения так, чтобы кит заговорил и на английском, и на испанском языках.
- Выполнять все команды в директории
~/project/docker.
Помните, что скрипт entrypoint.sh уже предоставлен. Ваша основная задача — создать Dockerfile, который правильно использует этот скрипт и позволяет настраивать язык через переменные окружения.
Пример
При запуске контейнера с выбранным испанским языком вы должны увидеть вывод, похожий на этот:
docker run -e WHALE_LANGUAGE=Spanish polyglot-whale
_________
< ¡Hola! >
---------
\
\
\
### .
### ### ### ==
### ### ### ### ===
/""""""""""""""""___/ ===
~~~ {~~ ~~~~ ~~~ ~~~~ ~~ ~ / ===- ~~~
\______ o __/
\ \ __/
\____\______/
А при запуске с английским языком по умолчанию:
docker run polyglot-whale
_________
< Hello! >
---------
\
\
\
### .
### ### ### ==
### ### ### ### ===
/""""""""""""""""___/ ===
~~~ {~~ ~~~~ ~~~ ~~~~ ~~ ~ / ===- ~~~
\______ o __/
\ \ __/
\____\______/
Резюме
В этом испытании вы расширили свои навыки работы с Docker, создав образ, который использует переменные окружения для конфигурации. Вы научились:
- Использовать переменные окружения в Dockerfile для установки значений по умолчанию.
- Создавать простой shell-скрипт для использования в качестве точки входа (entrypoint) контейнера.
- Переопределять переменные окружения при запуске контейнера.
Эти навыки имеют решающее значение для создания гибких и настраиваемых Docker-образов, которые могут адаптироваться к различным средам или сценариям использования. Продолжая свое путешествие в мир Docker, помните, что переменные окружения — это мощный инструмент, делающий ваши контейнеры более универсальными и удобными в управлении при различных сценариях развертывания. Продолжайте исследовать и удачи в общении с китами!



