Script d’installation de docker

Script permettant de faire une installation de docker sur Debian 12

#!/bin/bash

# Vérifier si l'utilisateur a les droits administratifs
if [ "$(id -u)" -ne 0 ]; then
  echo "Ce script doit être exécuté en tant qu'administrateur." >&2
  exit 1
fi

# Mise à jour des paquets
apt update

# Installation des dépendances
apt install -y \
  apt-transport-https \
  ca-certificates \
  curl \
  gnupg \
  lsb-release

# Ajout de la clé GPG officielle de Docker
curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

# Configuration du dépôt Docker stable
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

# Installation de Docker Engine
apt update
apt install -y docker-ce docker-ce-cli containerd.io

# Vérification de l'installation
docker --version

# Ajout de l'utilisateur au groupe docker (facultatif)
echo "Ajout de l'utilisateur au groupe docker..."
usermod -aG docker $USER
echo "Déconnectez-vous puis reconnectez-vous pour appliquer les changements."

# Démarrage et activation du service Docker
systemctl enable docker
systemctl start docker

echo "Installation de Docker terminée."

Pour générer un container sous Debian qui contiendrait des outils comme iperf2, netcat, nmap, il faut ensuite passer générer un Dockerfile

# Utiliser l'image officielle Debian 12 (Bookworm)
FROM debian:bookworm

# Mettre à jour les paquets et installer les outils
RUN apt-get update && \
    apt-get install -y \
    netcat-openbsd \
    nmap \
    snmp \
    iperf

# Exécuter netcat en mode écoute par défaut
CMD ["nc", "-l", "-p", "12345"]

Ensuite générer l’image

docker build -t debian_tools:latest .

Et la démarrer à la demande

docker run -it debian_tools /bin/bash