Введение
Docker произвел революцию в способах развертывания и управления приложениями, представив контейнеры — легкие, переносимые среды, которые могут работать на любой системе, где установлен Docker. Для разработчика или системного администратора владение навыками управления контейнерами Docker имеет решающее значение для эффективного развертывания и обслуживания приложений. В этом испытании вы проверите свои навыки работы с Docker, выполнив серию задач, охватывающих основные аспекты управления контейнерами через интерфейс командной строки (CLI).
В ходе этого испытания вы пройдете через различные сценарии, имитирующие реальные ситуации, с которыми вы можете столкнуться при работе с Docker. От запуска контейнеров и проверки их логов до выполнения команд внутри них и, наконец, очистки ресурсов — вы получите практический опыт работы с полным жизненным циклом контейнеров Docker.
Давайте приступим и начнем осваивать искусство управления контейнерами Docker!
Запуск контейнера
Первым шагом в любом рабочем процессе Docker часто является запуск контейнера. В этой задаче вы запустите контейнер и научитесь просматривать его логи — это критически важный навык для поиска неисправностей и мониторинга поведения контейнера.
Задачи
Ваши задачи:
- Запустить контейнер с именем
my-containerна основе образаnginx. - Просмотреть логи контейнера
my-container.
Требования
- Используйте команду
docker runдля запуска контейнера. - Используйте команду
docker logsдля просмотра логов контейнера. - Выполняйте все операции в директории
/home/labex/project.
Пример
После успешного выполнения этого шага вы сможете увидеть запущенный контейнер при использовании команды docker ps. Вывод должен выглядеть примерно так:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3a7d9f642a7f nginx "/docker-entrypoint.…" 12 seconds ago Up 11 seconds 80/tcp my-container
Этот вывод подтверждает, что ваш контейнер Nginx запущен и готов к работе.
Отличная работа по запуску вашего первого контейнера! Умение запускать контейнеры и получать доступ к их логам является основой работы с Docker. Далее мы рассмотрим, как остановить запущенный контейнер — еще один важный навык в управлении контейнерами.
Остановка контейнера
Хотя запуск контейнеров важен, умение правильно их останавливать не менее значимо. Этот навык особенно полезен, когда вам нужно провести техническое обслуживание, обновить конфигурации или просто освободить системные ресурсы.
Задачи
Ваша задача:
- Остановить контейнер с именем
my-container.
Требования
- Используйте команду
docker stopдля остановки контейнера. - Выполняйте все операции в директории
/home/labex/project.
Пример
После успешной остановки контейнера вы можете использовать docker ps -a, чтобы увидеть все контейнеры, включая остановленные. Вывод должен выглядеть примерно так:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3a7d9f642a7f nginx "/docker-entrypoint.…" 2 minutes ago Exited (0) 10 seconds ago my-container
Обратите внимание, как статус my-container изменился на "Exited", что указывает на его успешную остановку.
Прекрасная работа! Этот навык необходим для эффективного управления жизненным циклом контейнеров. Теперь, когда вы освоили запуск и остановку, перейдем к более продвинутой теме: выполнению команд внутри запущенного контейнера.
Выполнение команд в контейнере
Одной из мощных функций Docker является возможность выполнять команды внутри запущенного контейнера. Эта возможность неоценима для отладки, выполнения задач по обслуживанию или обновления конфигураций без остановки контейнера.
Задачи
Ваши задачи:
- Запустить контейнер с именем
my-shell-containerна основе образаubuntu. Контейнер должен продолжать работать в фоновом режиме. - Выполнить команду
echo "Hello World"внутри контейнераmy-shell-container.
Требования
- Используйте команду
docker runдля запуска контейнера. - Убедитесь, что контейнер остается активным после запуска.
- Используйте команду
docker execдля выполнения команды внутри контейнера. - Выполняйте все операции в директории
/home/labex/project.
Подсказка
Контейнеры на базе образа ubuntu завершают работу сразу после запуска, если не указана долгоживущая команда. Чтобы контейнер оставался активным, попробуйте запустить его с командой вроде sleep infinity. Например:
docker your-command sleep infinity
Пример
После запуска контейнера вы можете использовать команду docker ps, чтобы подтвердить, что он работает. Вывод должен выглядеть примерно так:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1a2b3c4d5e6f ubuntu "<command>" 30 seconds ago Up 29 seconds my-shell-container
При выполнении команды echo внутри контейнера вы должны увидеть следующий вывод:
Hello World
Это подтверждает, что вы успешно выполнили команду внутри запущенного контейнера.
Фантастическая работа! Теперь вы научились взаимодействовать с работающим контейнером. Этот навык открывает массу возможностей для управления и обслуживания. На последнем этапе мы научимся наводить порядок, удаляя контейнеры, которые нам больше не нужны.
Удаление контейнера
Работая с Docker, вы часто будете создавать контейнеры для временных задач или тестирования. Важно удалять эти контейнеры, когда они больше не нужны, чтобы освободить системные ресурсы и поддерживать чистоту в среде Docker.
Задачи
Ваша задача:
- Остановить и удалить контейнер с именем
my-shell-container.
Требования
- Используйте команду
docker stopдля остановки контейнера. - Используйте команду
docker rmдля удаления контейнера. - Выполняйте все операции в директории
/home/labex/project.
Пример
После завершения этого шага вы можете использовать docker ps -a, чтобы убедиться, что my-shell-container удален. Вы больше не должны видеть его в списке контейнеров:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
Это означает, что вы успешно удалили контейнер из своей системы.
Поздравляем с завершением последнего этапа! Теперь вы знаете, как очищать среду Docker от ненужных контейнеров. Этот навык критически важен для поддержания эффективного и организованного рабочего пространства.
Резюме
В этом комплексном испытании вы прошли путь по основным аспектам управления контейнерами Docker. Вы продемонстрировали умение запускать контейнеры, просматривать их логи, останавливать работу, выполнять команды внутри контейнеров и, наконец, удалять их, когда они больше не нужны.
Эти навыки составляют основу эффективного использования Docker и пригодятся вам в самых разных сценариях: от разработки и тестирования до промышленного развертывания. Вы получили практический опыт работы с Docker CLI, который неоценим для любого специалиста, работающего с контейнеризированными приложениями.
Продолжая свое знакомство с Docker, помните, что эти базовые операции являются строительными блоками для более сложных рабочих процессов. Регулярно практикуйте эти навыки, и вы станете экспертом в управлении контейнерами, что приведет к более эффективным процессам разработки и развертывания.
Продолжайте изучать возможности Docker и не бойтесь экспериментировать с различными образами и конфигурациями. Мир контейнеризации огромен и полон возможностей, и теперь вы отлично подготовлены к тому, чтобы уверенно в нем ориентироваться!



