Docker Installation Script

JADIS - Just another Docker Installation Script - Because you can never have enough of these!

Docker Installation Script

JADIS (Just Another Docker Installation Script).

  • Because you can never have enough of these.
# 1. Uninstall old / conflicting versions (if any)
sudo apt-get remove docker docker-engine docker.io containerd runc || true

# 2. Install required packages
sudo apt-get update
sudo apt-get install -y ca-certificates curl gnupg lsb-release

# 3. Add Docker's official GPG key
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

# 4. Add Docker repository (adjust for your distro if not Ubuntu/Debian-based)
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# For Debian replace 'ubuntu' with 'debian' in the line above

# 5. Install Docker Engine + docker-compose-plugin
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

# 6. Verify installation
docker --version
docker compose version    # Note: modern versions use "docker compose" (not docker-compose)

# 7. (Recommended) Add your user to the docker group so you don't need sudo
sudo usermod -aG docker $USER

# Log out and log back in (or run newgrp docker) for the group change to take effect
newgrp docker

# 8. Test that it works without sudo
docker run --rm hello-world

Or if you like  the brave 1-liner:

curl -fsSL https://get.docker.com | sudo sh

Another quick example:

# Ubuntu / Debian / Pop!_OS / Linux Mint
sudo apt update && sudo apt install -y docker.io docker-compose

# Fedora / RHEL-based (including Rocky, AlmaLinux, CentOS Stream)
sudo dnf install -y dnf-plugins-core
sudo dnf config-manager --add-repo https://download.docker.com/linux/fedora/docker-ce.repo
sudo dnf install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

# Arch Linux / Manjaro
sudo pacman -Syu docker docker-compose

And then enable it with:

# Start and enable Docker service
sudo systemctl enable --now docker

# Add current user to docker group (strongly recommended)
sudo usermod -aG docker $USER
# → then log out & log back in
Linux Rocks Every Day