59 lines
1.7 KiB
Bash
59 lines
1.7 KiB
Bash
#!/bin/bash
|
|
# install_docker.sh - Script for installing Docker and Docker Compose
|
|
|
|
echo "🚀 Installing Docker and Docker Compose..."
|
|
|
|
# Check if script is run as root
|
|
if [ "$(id -u)" -ne 0 ]; then
|
|
echo "❌ This script must be run as root. Please run with sudo."
|
|
exit 1
|
|
fi
|
|
|
|
# Update package lists
|
|
echo "📦 Updating package lists..."
|
|
apt update
|
|
|
|
# Install required packages
|
|
echo "📦 Installing required packages..."
|
|
apt install -y apt-transport-https ca-certificates curl software-properties-common
|
|
|
|
# Add Docker GPG key
|
|
echo "🔑 Adding Docker GPG key..."
|
|
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -
|
|
|
|
# Add Docker repository
|
|
echo "📁 Adding Docker repository..."
|
|
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
|
|
|
|
# Update package lists again
|
|
apt update
|
|
|
|
# Install Docker
|
|
echo "🐳 Installing Docker..."
|
|
apt install -y docker-ce docker-ce-cli containerd.io
|
|
|
|
# Enable and start Docker service
|
|
systemctl enable docker
|
|
systemctl start docker
|
|
|
|
# Install Docker Compose
|
|
echo "🐳 Installing Docker Compose..."
|
|
curl -L "https://github.com/docker/compose/releases/download/v2.24.6/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
|
|
chmod +x /usr/local/bin/docker-compose
|
|
|
|
# Check versions
|
|
echo "✅ Installation complete!"
|
|
echo "Docker version:"
|
|
docker --version
|
|
echo "Docker Compose version:"
|
|
docker-compose --version
|
|
|
|
# Add current user to docker group if not root
|
|
if [ -n "$SUDO_USER" ]; then
|
|
echo "👤 Adding user $SUDO_USER to docker group..."
|
|
usermod -aG docker $SUDO_USER
|
|
echo "⚠️ Please log out and log back in for group changes to take effect."
|
|
fi
|
|
|
|
echo "🎉 Docker installation completed successfully!"
|