Добавил:
мой вк: vk.com/truecrimebitch больше работ здесь: https://github.com/alisadex Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ПКАПиИ_БСТ2104_Кофанов_Первухина_Лабораторная_работа_2

.docx
Скачиваний:
0
Добавлен:
11.05.2025
Размер:
1.29 Mб
Скачать

МИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ СВЯЗИ И МАССОВЫХ КОММУНИКАЦИЙ

Ордена Трудового Красного Знамени

Федеральное государственное бюджетное образовательное учреждение высшего образования

«Московский технический университет связи и информатики»

__________________________________________________________________

Кафедра «Сетевые информационные технологии и сервисы»

Отчёт по лабораторной работе №2

по дисциплине «Программно-конфигурируемая архитектура приложений и инфраструктуры»

на тему «Базовые команды Docker»

Выполнили: студенты гр. БСТ2104

Кофанов Дмитрий Алексеевич

Первухина Алиса Александровна

Проверил: ст. преп.

Маклачкова Виктория Валентиновна

Москва

2025

Цель работы

Целью работы является освоение базовых команд Docker по взаимодействию с образами и контейнерами, а также управлению их жизненным циклом.

Задание

  1. Установить Docker на виртуальную машину с Ubuntu Server 22.04.

  2. Изучить и выполнить базовые команды Docker:

    • запуск контейнера с образом «hello-world»;

    • загрузка и управление образами (docker pull, docker images);

    • запуск контейнера с PostgreSQL и настройка переменных окружения;

    • просмотр логов контейнера и подключение к работающему контейнеру;

    • управление томами для сохранения данных.

  3. Отработать команды для остановки, удаления контейнеров и очистки неиспользуемых ресурсов.

Оформить отчёт, приложить скриншоты выполнения и ответить на контрольные вопросы.

Содержание

Ход выполнения работы 4

Ответы на контрольные вопросы 15

Заключение 17

Ход выполнения работы

  1. Установим Docker на виртуальную машину с Ubuntu Server 22.04 (см. рис. 1-5):

Рисунок 1 – Установка пакетов для работы с репозиториями

Рисунок 2 – Добавление официального репозитория Docker

Рисунок 3 – Обновление списка пакетов

Рисунок 4 – Установка Docker

Рисунок 5 – Проверка состояния службы Docker

  1. Изучим и выполним базовые команды 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 – Просмотр списка томов, создание нового тома, просмотр информации о томе, удаление тома

  1. Создадим том для хранения данных PostgreSQL, чтобы данные не удалялись при завершении контейнера (см. рис. 19-20):

Рисунок 19 – Создание тома «postgres_data», запуск контейнера «postgres_container» с указанием тома, создание тестовой базы данных и таблицы

Рисунок 20 – Остановка и удаление контейнера «postgres_container», создание нового контейнера «new_postgres_container» с указанием тома, проверка сохранения данных

Ответы на контрольные вопросы

  1. Что такое и зачем нужен Docker? Альтернативные системы?

Docker — это платформа для создания, распространения и запуска контейнеров. Контейнеры позволяют запускать приложения в изолированной среде с минимальными накладными расходами, по сравнению с виртуальными машинами. Docker упрощает развертывание, масштабирование и управление приложениями.

Альтернативные системы:

  • Podman

  • LXC (Linux Containers)

  • rkt (Rocket)

  • containerd

  1. Как получить Docker-образ, что это такое?

Docker-образ — это шаблон, содержащий приложение и все необходимые зависимости для его запуска. Для получения образа используется команда:

docker pull имя_образа

  1. Как запустить контейнер? Как получить доступ к его портам?

Например, запуск контейнера с PostgreSQL и доступом на порт 5432:

docker run -d -p 5432:5432 --name postgres_container postgres

  1. Как просмотреть логи контейнера?

docker logs имя_контейнера

  1. Как сохранить данные внутри контейнера между его перезапусками?

docker volume create имя_тома

docker run -d -v имя_тома:/var/lib/postgresql/data postgres

Это позволит сохранять данные базы данных PostgreSQL между перезапусками контейнера.

  1. Почему контейнеры могут обращаться между собой по имени (хэшу, если его нет)?

Docker создает собственную внутреннюю сеть и автоматически настраивает DNS-сервер, который позволяет контейнерам обращаться друг к другу по именам контейнеров.

  1. Что такое метки (docker tag)?

Метка (tag) позволяет создавать псевдонимы для образов. Это полезно для управления версиями образов. Пример команды для создания метки:

docker tag postgres:latest postgres:15.0-custom

  1. Как удалить ненужные образы и контейнеры?

Удалить контейнер:

docker rm имя_контейнера

Удалить образ:

docker rmi имя_образа

Очистить все неиспользуемые ресурсы:

docker system prune -a

Заключение

В результате выполнения лабораторной работы был установлен Docker на виртуальную машину с Ubuntu Server 22.04, были освоены базовые команды Docker по взаимодействию с образами и контейнерами, а также управлению их жизненным циклом.