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



