Мастерство Docker в Гелазийских степях

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

Введение

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

Освоение создания контейнеров

На этом этапе вы изучите основы создания и управления контейнерами Docker, необходимые для выживания в диких степях.

Задачи

  • Создайте контейнер Nginx с именем mynginx и убедитесь, что он успешно запущен.
  • Запустите контейнер Alpine и проверьте его статус.
  • Разверните контейнер Ubuntu с подключенным томом (примонтируйте локальную директорию хоста ~/project к директории /app внутри контейнера).

Требования

  • Все операции должны выполняться в директории /home/labex/project.
  • Используйте следующие команды:
    • Для создания контейнеров: docker run
    • Для проверки статуса контейнеров: docker ps
    • Для подключения тома: docker run -v

Пример

После выполнения задач вывод команды docker ps должен отображать запущенные контейнеры, включая информацию об их ID, образе и статусе.

labex:~/ $ docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS          PORTS     NAMES
1983f85f03d4   ubuntu    "sleep 3600"             22 seconds ago   Up 21 seconds             ubuntu_container
4231996cae33   alpine    "sleep 3600"             2 minutes ago    Up 2 minutes              alpine_container
519eadd3ced5   nginx     "/docker-entrypoint.…"   2 minutes ago    Up 2 minutes    80/tcp    mynginx

Сетевое взаимодействие и связь контейнеров

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

Задачи

  • Создайте пользовательскую сеть с именем mynetwork для ваших контейнеров.
  • Разверните контейнер Alpine с именем myalpine в этой сети и убедитесь, что он может взаимодействовать с другим контейнером с именем mypython (на базе образа Python), находящимся в той же сети.

Требования

  • Все операции должны проводиться строго в директории /home/labex/project.
  • Используйте следующие команды:
    • Для создания пользовательской сети: docker network create
    • Для подключения контейнеров к сети: docker network connect (или флаг --network при запуске).

Пример

По завершении задач созданная сеть должна отображаться при выполнении docker network ls, а контейнер Python должен успешно отвечать на запросы других контейнеров внутри сети.

Просмотр списка сетей:

labex:~/ $ docker network ls
NETWORK ID     NAME        DRIVER    SCOPE
1a367e6cc4e5   bridge      bridge    local
91199fc6ad2e   host        host      local
32e2857073a9   minikube    bridge    local
92d3b71b7efd   mynetwork   bridge    local
1078d2c781b6   none        null      local

Проверка связи между контейнерами с помощью ping:

labex:~/ $ docker exec myalpine ping mypython
PING mypython (172.18.0.3): 56 data bytes
64 bytes from 172.18.0.3: seq=0 ttl=64 time=0.153 ms
64 bytes from 172.18.0.3: seq=1 ttl=64 time=0.072 ms
64 bytes from 172.18.0.3: seq=2 ttl=64 time=0.069 ms

Резюме

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

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