#!/bin/bash # Функция для проверки наличия Docker check_docker() { if command -v docker >/dev/null 2>&1; then echo "Docker уже установлен. Версия: $(docker --version)" return 0 # Docker установлен else echo "Docker не найден. Устанавливаем Docker..." return 1 # Docker не установлен fi } # Обновляем список пакетов и устанавливаем git, если его нет echo "Обновляем список пакетов и устанавливаем git..." apt update && apt install -y git # Проверяем и устанавливаем Docker, если его нет if ! check_docker; then curl -fsSL https://get.docker.com -o get-docker.sh sh ./get-docker.sh rm get-docker.sh # Удаляем установочный скрипт после установки fi # Клонируем репозиторий, если его нет if [ ! -d "./DomainMapper" ]; then echo "Клонируем репозиторий DomainMapper..." git clone https://github.com/Ground-Zerro/DomainMapper.git else echo "Репозиторий DomainMapper уже клонирован." fi # Создаём Dockerfile с исправлениями echo "Создаём Dockerfile..." cat > Dockerfile </dev/null 2>&1; then echo "Собираем Docker образ..." docker build -t domainmapper . else echo "Docker образ domainmapper уже существует." fi # Проверяем наличие контейнера и запускаем его if docker ps -a | grep -q domainmapper_container; then echo "Контейнер уже существует. Перезапускаем его..." docker rm -f domainmapper_container # Удаляем старый контейнер fi echo "Запускаем Docker контейнер..." docker run --name domainmapper_container -v "$(pwd)/domain-ip-resolve.txt:/app/domain-ip-resolve.txt" -it domainmapper # Сообщаем пользователю о местонахождении файла echo "Контейнер завершил работу. Файл domain-ip-resolve.txt находится в $(pwd)/domain-ip-resolve.txt" # Удаляем скрипт после выполнения echo "Скрипт завершен, удаляю себя..." rm -- "$0"