АрхангельскийМВ_БСТ2154_ПКАПИИ_ЛР2
.docx
М
инистерство
цифрового развития, Связи и Массовых
Коммуникаций Российской Федерации
Ордена Трудового Красного Знамени
федеральное государственное бюджетное образовательное
учреждение высшего образования
«Московский Технический Университет
Связи и Информатики» (МТУСИ)
Кафедра «Сетевые информационные технологии и сервисы»
Отчёт по лабораторной работе №2
по учебной дисциплине:
«Программно-конфигурируемая архитектура приложений и инфраструктуры»
на тему:
«Базовые команды Docker»
Выполнил:
Студент 5 курса группы БСТ2154
Архангельский Максим Вячеславович
Проверил:
ст. преп.
Маклачкова Виктория Валентиновна
Москва 2025
Цель работы
Целью работы является освоение базовых команд Docker по взаимодействию с образами и контейнерами, а также управлению их жизненным циклом.
Задание
Установить Docker на виртуальную машину с Ubuntu Server 22.04.
Изучить и выполнить базовые команды Docker:
запуск контейнера с образом «hello-world»;
загрузка и управление образами (docker pull, docker images);
запуск контейнера с PostgreSQL и настройка переменных окружения;
просмотр логов контейнера и подключение к работающему контейнеру;
управление томами для сохранения данных.
Отработать команды для остановки, удаления контейнеров и очистки неиспользуемых ресурсов.
Оформить отчёт, приложить скриншоты выполнения и ответить на контрольные вопросы.
Ход выполнения работы
Установим Docker на виртуальную машину с Ubuntu Server 22.04 (см. рис. 1-5):
Рисунок 1 – Установка пакетов для работы с репозиториями
Рисунок 2 – Добавление официального репозитория Docker
Рисунок 3 – Обновление списка пакетов
Рисунок 4 – Установка Docker
Рисунок 5 – Проверка состояния службы Docker
Изучим и выполним базовые команды Docker (см. рис. 6-18):
Рисунок 6 – Запуск контейнера с образом «hello-world»
Рисунок 7 – Загрузка образа «postgres»
Рисунок 8 – Просмотр списка загруженных образов
Рисунок 9 – Загрузка образа «postgres» с меткой 15.10
Рисунок 10 – Создание нового тега (метки) для существующего образа «postgres» и его последующее удаление
Рисунок 11 – Удаление неиспользуемых образов
Рисунок 12 – Запуск контейнера с PostgreSQL
Рисунок 13 – Просмотр логов контейнера
Рисунок 14 – Список запущенных и остановленных контейнеров
Рисунок 15 – Подключение к контейнеру и запуск оболочки Bash, вход в psql
Рисунок 16 – Просмотр списка изменений контейнера
Рисунок 17 – Остановка и удаление контейнера
Рисунок 18 – Просмотр списка томов, создание нового тома, просмотр информации о томе, удаление тома
Ответы на контрольные вопросы
Что такое и зачем нужен Docker? Альтернативные системы?
Docker — это платформа для создания, распространения и запуска контейнеров. Контейнеры позволяют запускать приложения в изолированной среде с минимальными накладными расходами, по сравнению с виртуальными машинами. Docker упрощает развертывание, масштабирование и управление приложениями.
Альтернативные системы:
Podman
LXC (Linux Containers)
rkt (Rocket)
containerd
Как получить Docker-образ, что это такое?
Docker-образ — это шаблон, содержащий приложение и все необходимые зависимости для его запуска. Для получения образа используется команда:
docker pull имя_образа
Как запустить контейнер? Как получить доступ к его портам?
Например, запуск контейнера с PostgreSQL и доступом на порт 5432:
docker run -d -p 5432:5432 --name postgres_container postgres
Как просмотреть логи контейнера?
docker logs имя_контейнера
Как сохранить данные внутри контейнера между его перезапусками?
docker volume create имя_тома
docker run -d -v имя_тома:/var/lib/postgresql/data postgres
Это позволит сохранять данные базы данных PostgreSQL между перезапусками контейнера.
Почему контейнеры могут обращаться между собой по имени (хэшу, если его нет)?
Docker создает собственную внутреннюю сеть и автоматически настраивает DNS-сервер, который позволяет контейнерам обращаться друг к другу по именам контейнеров.
Что такое метки (docker tag)?
Метка (tag) позволяет создавать псевдонимы для образов. Это полезно для управления версиями образов. Пример команды для создания метки:
docker tag postgres:latest postgres:15.0-custom
Как удалить ненужные образы и контейнеры?
Удалить контейнер:
docker rm имя_контейнера
Удалить образ:
docker rmi имя_образа
Очистить все неиспользуемые ресурсы:
docker system prune -a
Заключение
В результате выполнения лабораторной работы был установлен Docker на виртуальную машину с Ubuntu Server 22.04, были освоены базовые команды Docker по взаимодействию с образами и контейнерами, а также управлению их жизненным циклом.
