====== Развертывание приложений в Docker ====== Полное руководство по установке Docker, загрузке локальных образов и оркестрации сервисов через Docker Compose. ===== Подготовка носителя с образами ===== Для загрузки образов без интернета, примонтируйте ISO-образ с данными в вашем гипервизоре (например, как виртуальный CD/DVD привод). Узнайте, под каким именем устройство определилось в системе (обычно ''%%sr0%%'' или ''%%sr1%%''): lsblk Создайте директорию для монтирования и примонтируйте устройство: mkdir /mnt/имя_вашего_устройства mount /dev/имя_вашего_устройства /mnt/имя_вашего_устройства ===== Установка и запуск Docker ===== Установите основные пакеты: сам движок Docker и утилиту Compose для управления сложными проектами. apt-get update && apt-get install -y docker-ce docker-compose Сразу же добавьте службу в автозагрузку и запустите её: systemctl enable --now docker ===== Загрузка образов (Docker Load) ===== Перейдите в директорию примонтированного диска, где лежат архивы с образами, и загрузите их в локальный реестр Docker. cd /mnt/имя_вашего_устройства/путь_до_образов docker load -i образ_приложения.tar docker load -i образ_базы_данных.tar ===== Создание конфигурации (docker-compose.yml) ===== Создайте рабочую директорию проекта и откройте файл оркестратора. В нем строго важны отступы (используйте пробелы, а не табы). mkdir ~/docker-project cd ~/docker-project vim docker-compose.yml Наполните файл следующей структурой, определяющей базу данных и веб-приложение: services: db: image: имя_образа_бд:тег container_name: имя_контейнера_бд restart: always environment: # далее идут все переменные контейнера в формате "название переменной: значение" DB_USER_VARIABLE: значение_пользователя DB_PASS_VARIABLE: значение_пароля DB_NAME_VARIABLE: значение_имени_бд testapp: image: имя_образа_веб_приложения:тег container_name: имя_веб_контейнера restart: always ports: # Проброс порта (Внешний_хост:Внутренний_контейнер) - "8080:8000" environment: # далее идут все переменные контейнера в формате "название переменной: значение" APP_DB_HOST: db APP_DB_USER: значение_пользователя APP_DB_PASS: значение_пароля depends_on: - db ===== Запуск и тестирование ===== Находясь в директории с файлом ''%%docker-compose.yml%%'', запустите сборку и старт сервисов в фоновом режиме (ключ ''%%-d%%''): docker compose up -d Убедитесь, что все контейнеры запущены и работают без перезагрузок (статус //Up//): docker ps Перейдите в веб-браузер с любой клиентской машины и откройте адрес приложения, используя порт, который вы пробросили наружу: http://IP_адрес_сервера:8080