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

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

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

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


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL docker(("Docker")) -.-> docker/ContainerOperationsGroup(["Container Operations"]) shell(("Shell")) -.-> shell/VariableHandlingGroup(["Variable Handling"]) shell(("Shell")) -.-> shell/ControlFlowGroup(["Control Flow"]) docker(("Docker")) -.-> docker/DockerfileGroup(["Dockerfile"]) docker/ContainerOperationsGroup -.-> docker/run("Run a Container") shell/VariableHandlingGroup -.-> shell/variables_usage("Variable Usage") shell/ControlFlowGroup -.-> shell/if_else("If-Else Statements") docker/DockerfileGroup -.-> docker/build("Build Image from Dockerfile") subgraph Lab Skills docker/run -.-> lab-389015{{"Настройка языка Docker-кита"}} shell/variables_usage -.-> lab-389015{{"Настройка языка Docker-кита"}} shell/if_else -.-> lab-389015{{"Настройка языка Docker-кита"}} docker/build -.-> lab-389015{{"Настройка языка Docker-кита"}} end

Создание многоязычного кита

Представьте, что вы разрабатываете многоязычное приложение, и вам нужно способ быстро протестировать свою 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. Корректно скопировать предоставленный скрипт entrypoint.sh в ваш образ и установить его в качестве точки входа.
  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-скрипт, который будет служить точкой входа для вашего контейнера.
  3. Переопределять переменные окружения при запуске контейнера.

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