Files
Dev/install_docker.sh

72 lines
3.3 KiB
Bash
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/bin/bash
# Скрипт установки Docker, Docker Compose, mc, wget, curl, htop, nano на Debian
# curl -fsSL https://git.dadehard.ru/kalugin66/Dev/raw/branch/main/install_docker.sh | bash
set -e # Прерывать выполнение при любой ошибке
# Цвета для вывода
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m' # No Color
# Функция для вывода сообщений
info() {
echo -e "${GREEN}[INFO]${NC} $1"
}
warn() {
echo -e "${YELLOW}[WARN]${NC} $1"
}
error() {
echo -e "${RED}[ERROR]${NC} $1"
exit 1
}
# Проверка прав root
if [[ $EUID -ne 0 ]]; then
error "Этот скрипт должен выполняться от root (используйте sudo)."
fi
# Обновление списка пакетов и установка базовых зависимостей
info "Обновление списка пакетов..."
apt update -y
info "Установка необходимых пакетов: apt-transport-https, ca-certificates, curl, gnupg, lsb-release..."
apt install -y apt-transport-https ca-certificates curl gnupg lsb-release
# Добавление официального ключа Docker
info "Добавление официального GPG-ключа Docker..."
curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
# Добавление стабильного репозитория Docker
info "Добавление репозитория Docker..."
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null
# Установка Docker Engine и плагина Compose
info "Установка Docker Engine, CLI, containerd.io и docker-compose-plugin..."
apt update -y
apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
# Установка дополнительных пакетов: mc, wget, curl, htop, nano
info "Установка mc, wget, curl, htop, nano..."
apt install -y mc wget curl htop nano
# Добавление текущего пользователя (не root) в группу docker, если скрипт запущен через sudo с сохранением SUDO_USER
if [[ -n "$SUDO_USER" ]]; then
USER_NAME="$SUDO_USER"
info "Добавление пользователя $USER_NAME в группу docker..."
usermod -aG docker "$USER_NAME"
warn "Пользователю $USER_NAME потребуется выйти из системы и зайти заново (или перезагрузить сессию), чтобы изменения вступили в силу."
else
warn "Переменная SUDO_USER не найдена. Пользователь не добавлен в группу docker. Если вы не root, добавьте себя вручную: sudo usermod -aG docker \$USER"
fi
# Проверка версий
info "Проверка установленных версий:"
docker --version || error "Docker не установлен"
docker compose version || error "Docker Compose не установлен"
info "Установка успешно завершена!"
docker network create applications