Installer Docker sur Alpine Linux : Guide complet

Installer Docker sur Alpine Linux : Guide complet

Alpine Linux s’impose comme la distribution de référence pour héberger Docker sur Alpine Linux : moins de 130 Mo à l’installation, une empreinte mémoire minimale et un modèle de sécurité durci font d’elle le choix idéal pour un homelab, un serveur de conteneurs ou une infrastructure microservices. Dans ce guide pas à pas, vous apprendrez à installer et configurer Docker, Docker Compose et l’interface d’administration Webmin sur Alpine Linux, depuis la première connexion jusqu’au lancement de vos premiers conteneurs.

Présentation d’Alpine Linux

Présentation et écran de démarrage d'Alpine Linux

Alpine Linux a été créée en 2005 par Natanael Copa, développeur norvégien, avec un objectif clair : une distribution légère, sécurisée et taillée pour les environnements à ressources limitées (routeurs, systèmes embarqués). Elle repose sur deux briques fondamentales :

  • musl libc – bibliothèque C minimaliste, en remplacement de glibc.
  • BusyBox – ensemble compact d’utilitaires Unix en un seul binaire.

Ces choix font d’Alpine Linux la distribution Docker de référence : l’image alpine sur Docker Hub pèse à peine 7 Mo, contre 30 à 80 Mo pour Ubuntu ou Debian. Son gestionnaire de paquets APK (Alpine Package Keeper) est rapide et fiable.

Avantages d’Alpine Linux

  • Légèreté extrême : empreinte disque et mémoire minimale, idéale pour les conteneurs Docker et les serveurs homelab.
  • Sécurité renforcée : compilée avec PIE et SSP, réduisant la surface d’attaque.
  • Gestionnaire APK rapide : installation et mise à jour sans dépendances superflues.
  • Démarrage éclair : temps de boot très court, parfait pour les pipelines CI/CD.
  • Flexibilité : adaptée aux microservices, au cloud-native et aux environnements Proxmox LXC.

Inconvénients à connaître

  • Compatibilité musl : certains logiciels compilés pour glibc nécessitent des ajustements (Node.js, certains binaires Go).
  • Courbe d’apprentissage : les habitués d’Ubuntu ou Debian doivent s’adapter à APK et OpenRC.
  • Communauté plus petite : moins de ressources francophones que pour les distributions majeures.
Critère Alpine Linux Ubuntu Server Debian
Taille image Docker ~7 Mo ~80 Mo ~50 Mo
Init système OpenRC systemd systemd
Bibliothèque C musl glibc glibc
Gestionnaire paquets APK apt apt
Idéale pour Docker Oui Lourd Oui

Installation et premiers pas avec Alpine Linux

La procédure d’installation standard d’Alpine Linux est guidée par le script setup-alpine. Retrouvez ci-dessous la vidéo de démonstration :

Commandes essentielles pour démarrer

Action Commande
Éteindre le serveur poweroff
Redémarrer reboot
Créer un utilisateur setup-user
Supprimer un utilisateur deluser –remove-home nom_utilisateur
Mettre à jour la liste des paquets apk update
Mettre à jour les paquets installés apk upgrade
Afficher l’adresse IP ip a
Installer un paquet apk add nom_paquet
Supprimer un paquet apk del nom_paquet

Service SSH et configuration de sudo

Le service SSH est activé par défaut sur Alpine Linux. Son fichier de configuration se trouve dans /etc/ssh/sshd_config. Par mesure de sécurité, la connexion directe en root via SSH est désactivée : vous devez créer un utilisateur dédié.

Vérifier le statut du service SSH :

service sshd statusRésultat de la commande service sshd status sur Alpine Linux

Créer un nouvel utilisateur pour la connexion SSH :

setup-user


Création d'un utilisateur avec setup-user sur Alpine Linux

La commande sudo n’est pas installée par défaut sur Alpine Linux. La documentation officielle recommande d’utiliser le groupe wheel pour gérer les droits élevés. Configurez-le ainsi :

Installation de sudo et configuration du groupe wheel sur Alpine Linux

apk add sudo
echo '%wheel ALL=(ALL) ALL' > /etc/sudoers.d/wheel
adduser nom_utilisateur wheel

Ajout d'un utilisateur au groupe wheel pour les droits sudo sur Alpine Linux

Déconnectez-vous puis reconnectez-vous : sudo est maintenant fonctionnel.

Pourquoi choisir Alpine Linux pour héberger Docker ?

Avant de passer à l’installation, voici pourquoi Alpine Linux et Docker forment une paire aussi efficace :

  • Économie de ressources : un hôte Alpine consomme ~80 Mo au repos, contre ~500 Mo pour Ubuntu, soit plusieurs conteneurs Docker supplémentaires sur un même serveur.
  • Images Docker plus légères : en basant vos Dockerfile sur FROM alpine, vos images finales sont drastiquement réduites, accélérant les déploiements CI/CD.
  • Sécurité par défaut : la surface d’attaque réduite diminue le nombre de CVE potentiels dans vos images — un point crucial en production.
  • Compatibilité Proxmox LXC : Alpine Linux s’intègre parfaitement comme conteneur LXC sous Proxmox VE, permettant de faire tourner Docker sans VM complète.
Bon à savoir : l’image officielle alpine:latest disponible sur Docker Hub est utilisée par des millions de pipelines CI/CD dans le monde et est maintenue par l’équipe Alpine Linux.

Installer Docker sur Alpine Linux

Docker sur Alpine Linux est disponible directement dans les dépôts communautaires de la distribution. L’installation se fait en quelques commandes.

Étape 1 – Activer le dépôt communautaire

Le paquet Docker se trouve dans le dépôt community. Vérifiez vos dépôts actifs :

cat /etc/apk/repositories

Vérification des dépôts APK actifs sur Alpine Linux

Erreur fréquente : si vous obtenez ERROR: unable to select packages: docker (no such package), le dépôt community n’est pas activé. Éditez /etc/apk/repositories et décommentez la ligne community. Consultez pkgs.alpinelinux.org pour la liste complète.

Après avoir activé le dépôt, mettez à jour la liste des paquets :

apk update

Mise à jour des dépôts APK après activation du dépôt community Alpine Linux

Étape 2 – Installer Docker

sudo apk add docker

Étape 3 – Activer et démarrer le service Docker

Sur Alpine Linux, le système d’init est OpenRC (et non systemd). Les commandes diffèrent légèrement :

rc-update add docker default

Commande rc-update add docker default pour activer Docker au boot sur Alpine Linux

sudo service docker start

Démarrage du service Docker sur Alpine Linux avec service docker start

Étape 4 – Vérifier l’installation

service docker status

Vérification du statut du service Docker sur Alpine Linux

sudo docker version

Résultat de docker version affichant les détails de l'installation Docker sur Alpine Linux

Étape 5 – Ajouter l’utilisateur au groupe Docker

Pour utiliser Docker sans sudo, ajoutez votre utilisateur au groupe docker :

addgroup nom_utilisateur docker

Ajout de l'utilisateur au groupe Docker pour éviter l'usage de sudo

cat /etc/group


Contenu du fichier /etc/group montrant l'appartenance au groupe Docker

💡 Test rapide : lancez docker run –rm hello-world pour valider que Docker sur Alpine Linux fonctionne correctement de bout en bout.

Installer Docker Compose sur Alpine Linux

Docker Compose est l’outil indispensable pour orchestrer des applications multi-conteneurs à partir d’un simple fichier docker-compose.yml. Il permet de définir, lier et lancer plusieurs services (base de données, serveur web, cache Redis…) en une seule commande.

Principaux avantages de Docker Compose

  • Définir tous les services dans un seul fichier YAML.
  • Lancer l’ensemble de la stack avec docker compose up -d.
  • Gérer automatiquement la mise en réseau entre conteneurs.
  • Versionner la configuration pour faciliter la portabilité et la collaboration.
  • Simplifier les environnements de développement, de test et de CI/CD.

Installation

sudo apk add docker-compose

Installation de Docker Compose sur Alpine Linux avec apk add docker-compose

Vérifiez l’installation :

docker-compose -v
Vérification de la version de Docker Compose installée sur Alpine Linux

💡 Astuce : depuis Docker Compose v2, la commande recommandée est docker compose (sans tiret), intégrée directement dans le CLI Docker. Les deux syntaxes fonctionnent sur Alpine Linux.

Exemple de fichier docker-compose.yml

Voici un exemple minimal pour déployer un serveur Nginx sur Alpine Linux :

version: '3.8'
services:
web:
image: nginx:alpine
container_name: mon-nginx
ports:
- "8080:80"
restart: unless-stopped
volumes:
- ./html:/usr/share/nginx/html:ro

docker compose up -d

Installer Webmin sur Alpine Linux

Webmin est une interface d’administration système web qui permet de gérer votre serveur Alpine Linux via un navigateur, sans manipuler les fichiers de configuration en ligne de commande.

 

Interface Webmin pour l'administration du serveur Alpine Linux

Fonctionnalités principales

  • Gestion des utilisateurs et groupes système.
  • Configuration des services réseau : DNS, DHCP, FTP, SSH, SMTP.
  • Administration système : processus, modules kernel, pare-feu iptables.
  • Gestion de paquets APK : installation, mise à jour, suppression.
  • Serveurs web et bases de données : Apache, MySQL, PostgreSQL.
  • Planification de tâches et sauvegardes automatisées.

Étape 1 – Installer les dépendances

sudo apk update
sudo apk add perl perl-net-ssleay openssl perl-io-tty

Étape 2 – Télécharger le paquet Webmin avec wget

https://prdownloads.sourceforge.net/webadmin/webmin-2.202.tar.gz


Téléchargement du paquet Webmin avec wget sur Alpine Linux

Étape 3 – Installer Webmin

tar -xvzf webmin-2.202.tar.gz
cd webmin-2.202
sudo ./setup.sh

Script d'installation de Webmin en cours d'exécution sur Alpine Linux

À l’issue de l’installation, Webmin est accessible via votre navigateur à l’adresse https://IP_DU_SERVEUR:10000. Votre serveur Alpine Linux avec Docker est maintenant opérationnel et administrable graphiquement.

FAQ – Questions fréquentes sur Alpine Linux et Docker

Quelle est la différence entre Alpine Linux et Ubuntu pour Docker ?

Alpine Linux est bien plus légère : l’image Docker alpine pèse environ 7 Mo contre 80 Mo pour Ubuntu. Elle repose sur musl libc et BusyBox au lieu de glibc et des outils GNU, réduisant taille et surface d’attaque. Certains logiciels compilés pour glibc peuvent nécessiter des ajustements.

Comment activer le dépôt community sur Alpine Linux ?

Éditez /etc/apk/repositories et décommentez la ligne community de votre version. Puis exécutez apk update.

Comment vérifier que Docker fonctionne sur Alpine Linux ?

Trois commandes : service docker status (service actif ?), docker version (version installée), docker run –rm hello-world (test complet de bout en bout).

Peut-on utiliser Docker Compose sur Alpine Linux ?

Oui. Installez-le avec sudo apk add docker-compose. Docker Compose est disponible dans le dépôt community et fonctionne de façon identique à toute autre distribution Linux.

Alpine Linux fonctionne-t-elle dans un conteneur LXC sous Proxmox ?

Oui. Avec l’option nesting activée et le module overlay, vous pouvez faire tourner Docker à l’intérieur d’un conteneur LXC Proxmox sans créer de VM complète, économisant ainsi des ressources précieuses.

Comment activer le démarrage automatique de Docker au boot ?

Alpine Linux utilise OpenRC et non systemd. La commande est : rc-update add docker default. Docker se lancera automatiquement à chaque redémarrage du serveur.

Alpine Linux est-elle adaptée à un homelab Docker ?

Absolument. Avec moins de 130 Mo installée et une consommation RAM inférieure à 100 Mo au repos, Alpine Linux permet de faire tourner davantage de conteneurs sur un même matériel qu’Ubuntu ou Debian — idéal pour un homelab ou un petit serveur personnel.

Comment installer sudo sur Alpine Linux ?

Exécutez dans l’ordre : apk add sudo, puis ajoutez la ligne %wheel ALL=(ALL) ALL dans /etc/sudoers.d/wheel, et enfin adduser votre_utilisateur wheel. Reconnectez-vous pour appliquer les droits.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *