Загрузить файлы в «/»
This commit is contained in:
71
install_docker.sh
Normal file
71
install_docker.sh
Normal file
@@ -0,0 +1,71 @@
|
||||
#!/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 "Установка успешно завершена!"
|
||||
Reference in New Issue
Block a user