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



