Настройка языка кита Docker

DockerBeginner
Практиковаться сейчас

Введение

Приветствуем вас, лингвист Docker! Вы уже научили кита Docker разговаривать, но сможете ли вы сделать его полиглотом? В этом испытании вы создадите Docker-образ, который использует переменные окружения для смены языка приветствия кита. Приготовьтесь наделить нашего морского друга голосом, понятным во всем мире!

Создание кита-полиглота

Представьте, что вы разрабатываете многоязычное приложение и вам нужен способ быстро протестировать настройки Docker в различных языковых средах. Именно здесь нам пригодится кит-полиглот!

В этом испытании вы поднимете свои навыки работы с Docker на новый уровень, создав гибкий контейнер, учитывающий языковые настройки. Вы будете использовать переменные окружения — мощный инструмент в экосистеме Docker — для динамического изменения языка приветствия нашего дружелюбного кита.

Прежде чем приступить, давайте подготовим рабочую среду. Перейдите в директорию ~/project/docker в терминале. Там вы найдете стартовые файлы, подготовленные вашим наставником по Docker. Эти файлы дадут вам фору и позволят сосредоточиться на основных концепциях этого задания.

Готовы дать нашему киту международный голос? Давайте создадим волну в мире многоязычных контейнеров!

Задачи

Ваша лингвистическая миссия, если вы решите ее принять:

  1. Изучить предоставленный скрипт entrypoint.sh, чтобы понять, как он обрабатывает различные языки.
  2. Модифицировать Dockerfile, чтобы включить в него скрипт entrypoint.sh и настроить переменные окружения.
  3. Собрать Docker-образ на основе готового Dockerfile.
  4. Запустить контейнеры из вашего образа, экспериментируя с различными языковыми настройками.

Требования

Для успешного прохождения испытания необходимо:

  1. Использовать docker/whalesay в качестве базового образа в вашем Dockerfile.
  2. Создать переменную окружения с именем WHALE_LANGUAGE в Dockerfile со значением по умолчанию "English".
  3. Использовать инструкцию COPY в Dockerfile, чтобы скопировать предоставленный скрипт entrypoint.sh в корневой каталог (/) образа под именем /entrypoint.sh. Убедитесь, что у него есть права на выполнение, и установите его в качестве ENTRYPOINT.
  4. Собрать образ с тегом polyglot-whale.
  5. Запустить контейнер с установленной переменной окружения так, чтобы кит заговорил и на английском, и на испанском языках.
  6. Выполнять все команды в директории ~/project/docker.

Помните, что скрипт entrypoint.sh уже предоставлен. Ваша основная задача — создать Dockerfile, который правильно использует этот скрипт и позволяет настраивать язык через переменные окружения.

Пример

При запуске контейнера с выбранным испанским языком вы должны увидеть вывод, похожий на этот:

docker run -e WHALE_LANGUAGE=Spanish polyglot-whale
 _________
< ¡Hola! >
 ---------
    \
     \
      \
                    ###        .
              ### ### ###       ==
           ### ### ### ###      ===
       /""""""""""""""""___/ ===
  ~~~ {~~ ~~~~ ~~~ ~~~~ ~~ ~ /  ===- ~~~
       \______ o          __/
        \    \        __/
          \____\______/

А при запуске с английским языком по умолчанию:

docker run polyglot-whale
 _________
< Hello! >
 ---------
    \
     \
      \
                    ###        .
              ### ### ###       ==
           ### ### ### ###      ===
       /""""""""""""""""___/ ===
  ~~~ {~~ ~~~~ ~~~ ~~~~ ~~ ~ /  ===- ~~~
       \______ o          __/
        \    \        __/
          \____\______/

Резюме

В этом испытании вы расширили свои навыки работы с Docker, создав образ, который использует переменные окружения для конфигурации. Вы научились:

  1. Использовать переменные окружения в Dockerfile для установки значений по умолчанию.
  2. Создавать простой shell-скрипт для использования в качестве точки входа (entrypoint) контейнера.
  3. Переопределять переменные окружения при запуске контейнера.

Эти навыки имеют решающее значение для создания гибких и настраиваемых Docker-образов, которые могут адаптироваться к различным средам или сценариям использования. Продолжая свое путешествие в мир Docker, помните, что переменные окружения — это мощный инструмент, делающий ваши контейнеры более универсальными и удобными в управлении при различных сценариях развертывания. Продолжайте исследовать и удачи в общении с китами!

✨ Проверить решение и практиковаться