Skip to content

Instantly share code, notes, and snippets.

@brahimmachkouri
Last active May 30, 2025 18:51
Show Gist options
  • Save brahimmachkouri/35538d4dfb9c6baf297cc7b2096ce8e7 to your computer and use it in GitHub Desktop.
Save brahimmachkouri/35538d4dfb9c6baf297cc7b2096ce8e7 to your computer and use it in GitHub Desktop.
Ubuntu : Install Docker
#!/usr/bin/env bash
set -euo pipefail
# ---------- Fonctions ----------
cleanup() { [[ -n "${SUDO_LOOP_PID:-}" ]] && kill "$SUDO_LOOP_PID"; }
trap cleanup EXIT
need_cmd() { command -v "$1" &>/dev/null || { echo "$1 introuvable"; exit 1; }; }
need_cmd sudo
sudo -v
# Keep-alive sudo
( while true; do sudo -n true; sleep 60; done ) & SUDO_LOOP_PID=$!
# Quitter si Docker déjà présent
if command -v docker &>/dev/null; then
echo "ℹ️ Docker déjà installé : $(docker --version)"
exit 0
fi
echo "🔧 Dépôt Docker – $(lsb_release -cs)"
sudo apt-get update -qq
sudo apt-get install -yqq ca-certificates curl gnupg lsb-release
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg |
sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
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
sudo apt-get update -qq
sudo apt-get install -yqq docker-ce docker-ce-cli containerd.io \
docker-buildx-plugin docker-compose-plugin
echo "✅ Docker $(docker --version) installé."
sudo docker run --rm hello-world
sudo usermod -aG docker "$USER" && echo "🔑 Ajout $USER → groupe docker"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment