Скачиваний:
0
Добавлен:
05.05.2026
Размер:
1.27 Mб
Скачать

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

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

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

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

__________________________________________________________________

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

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

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

на тему «Контейнер Adminer»

Выполнил:

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

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

Москва

2026

Цель работы

Научиться работать с контейнерами, взаимодействующими между собой, а также освоить настройку сетей в Docker для организации взаимодействия между контейнерами.

Задание

  1. Запустить контейнер с Adminer (веб-интерфейс для управления базами данных).

  2. Настроить взаимодействие между контейнерами Adminer и PostgreSQL с использованием Docker-сетей.

  3. Изучить и применить команды для создания и управления Docker-сетями.

  4. Проверить работоспособность связки контейнеров, подключившись к базе данных через Adminer.

Содержание

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

Заключение 12

Контрольные вопросы 13

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

1. Запустим контейнер с Adminer (рис. 1-2):

Рисунок 1 – Запуск контейнера с Adminer

Рисунок 2 – Веб-интерфейс для подключения к Adminer

2. Настроим взаимодействие между контейнерами Adminer и PostgreSQL с использованием Docker-сетей (рис. 3-5):

Рисунок 3 – Запуск нового контейнера Adminer с указанием связи

Рисунок 4 – Попытка входа в Adminer

Рисунок 5 – Успешный вход в Adminer

3. Изучим и применим команды для создания и управления Docker-сетей (см. рис. 6-10):

Рисунок 6 – Создание и просмотр информации Docker-сети

Рисунок 7 – Сетевые настройки контейнера PostgreSQL

Рисунок 8 – Сетевые настройки контейнера Adminer

Рисунок 9 – Удаление контейнеров PostgreSQL и Adminer

Рисунок 10 – Создание новых контейнеров PostgreSQL и Adminer с указанием сети и просмотр их сетевых настроек

4. Проверим работоспособность связки контейнеров, подключившись к базе данных через Adminer (см. рис. 11-14):

Рисунок 11 – Попытка входа в Adminer по IP-адресу

Рисунок 12 – Успешный вход в Adminer

Также возможно подключение по доменному имени.

Рисунок 13 – Попытка входа в Adminer по домену

Рисунок 14 – Успешный вход в Adminer

Рисунок 15 – Удаление всех контейнеров

Заключение

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

Контрольные вопросы

1. Как запустить что-то внутри работающего контейнера?

Например, для запуска оболочки Bash внутри контейнера:

docker exec -it имя_контейнера /bin/bash

2. Как узнать, какие файлы изменяет программа внутри контейнера?

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

Команда покажет список файлов, которые были изменены, удалены или добавлены в контейнере после его запуска.

3. Когда происходит завершение контейнера? Как сделать?

Контейнер завершает свою работу:

После завершения основного процесса внутри контейнера.

Вручную с помощью команды docker stop имя_контейнера

Принудительно завершить контейнер можно командой docker kill имя_контейнера

4. Перезапустите сборку собранного образа, оцените время пересборки, объясните причины.

При повторной сборке образа Docker использует кэш для слоев, которые не изменились. Если слои кэшированы, повторная сборка будет быстрой. Изменение слоев в верхней части Dockerfile приведет к тому, что последующие команды будут пересобираться, что увеличит время сборки.

5. К какому числу слоев стремиться в образе, правила оптимизации?

Рекомендуется минимизировать количество слоев, чтобы ускорить сборку и уменьшить размер образа.

Правила оптимизации:

Объединяйте команды в Dockerfile.

Очищайте ненужные пакеты сразу после установки.

Используйте .dockerignore, чтобы исключить лишние файлы из контекста сборки.

6. Что такое Dockerfile?

Dockerfile — это текстовый файл, содержащий инструкции для создания Docker-образа. Каждая команда в Dockerfile создает новый слой образа.

7. Опишите базовые команды Dockerfile, что они делают, где смотреть документацию?

FROM: Базовый образ.

RUN: Выполняет команду в процессе сборки образа.

CMD: Задает команду по умолчанию для выполнения при запуске контейнера.

COPY: Копирует файлы из контекста сборки в контейнер.

EXPOSE: Открывает порты.

WORKDIR: Устанавливает рабочую директорию внутри контейнера.

Документация доступна на официальном сайте Docker.

8. Что такое контекст сборки, как его оптимизировать?

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

Оптимизация:

Используйте файл .dockerignore, чтобы исключить ненужные файлы.

Минимизируйте размер контекста, чтобы ускорить передачу файлов на Docker-демон.

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