Мастерство 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

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

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

Задачи

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

Требования

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

Пример

После выполнения задач пользовательская сеть должна отображаться при выполнении 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, которые критически важны для выживания в необузданном мире контейнеризации.

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