1. Introduction
Qu’est-ce que Docker ?
Docker est une plateforme qui utilise la technologie de virtualisation basée sur les conteneurs pour développer, distribuer et exécuter efficacement les applications. Contrairement aux machines virtuelles traditionnelles (VM), les conteneurs partagent le noyau du système d’exploitation hôte, permettant un démarrage plus rapide et une consommation de ressources moindre.
Avantages de l’utilisation de Docker sur Ubuntu
Ubuntu est l’une des distributions Linux avec une forte compatibilité avec Docker. Les raisons principales incluent :
- Support Officiel : Docker supporte officiellement Ubuntu, permettant une installation facile via le dépôt officiel.
- Gestion de Paquets Stable : Le gestionnaire de paquets APT d’Ubuntu rend la gestion des versions simple.
- Support Communautaire Étendu : Ubuntu dispose d’une grande base d’utilisateurs mondiale, facilitant la résolution de problèmes en cas d’incidents.
Ce que vous apprendrez dans cet article
Ce guide explique les sujets suivants étape par étape :
- Comment installer Docker sur Ubuntu
- Opérations de base pour les images Docker
- Créer des images personnalisées en utilisant Dockerfile
- Configurer la locale japonaise dans un conteneur Ubuntu
- Optimiser et minimiser les images Docker
- Développer des applications à l’intérieur des conteneurs Ubuntu
- Erreurs courantes et dépannage
Le contenu est utile pour les débutants comme pour les utilisateurs avancés, n’hésitez pas à y faire référence à tout moment.
2. Installation de Docker sur Ubuntu
Installation de Docker en utilisant le dépôt officiel
Sur Ubuntu, vous pouvez installer facilement Docker en utilisant le dépôt officiel. Suivez les étapes ci-dessous pour configurer votre environnement.
1. Supprimer les paquets Docker existants
Ubuntu peut inclure un paquet appelé docker.io, qui pourrait être une version plus ancienne. Supprimez-le avant d’installer la dernière version de Docker.
sudo apt remove docker docker-engine docker.io containerd runc
2. Installer les paquets requis
Installez les paquets de dépendance avant l’installation.
sudo apt update
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
3. Ajouter le dépôt officiel de Docker
Ajoutez la clé GPG officielle de Docker et configurez le dépôt.
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
4. Installer Docker
Après avoir ajouté le dépôt, installez Docker.
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io
5. Vérifier l’installation
Vérifiez si Docker est installé correctement en affichant les informations de version.
docker --version
Configuration initiale après l’installation
1. Démarrer et activer le service Docker
Démarrez le service Docker et activez le démarrage automatique au boot.
sudo systemctl start docker
sudo systemctl enable docker
2. Autoriser les utilisateurs non root à exécuter Docker
Par défaut, seul root peut exécuter Docker. Autorisez les utilisateurs réguliers à exécuter les commandes Docker.
sudo usermod -aG docker $USER
Déconnectez-vous et reconnectez-vous pour appliquer les modifications.
3. Tester le fonctionnement de Docker
Exécutez le conteneur hello-world en utilisant un compte utilisateur régulier.
docker run hello-world
Si la sortie inclut « Hello from Docker ! », l’installation a réussi.

3. Opérations de base des images Docker
Qu’est-ce qu’une image Docker ?
Une image Docker fonctionne comme un modèle pour créer des conteneurs. En utilisant une image Docker basée sur Ubuntu, vous pouvez rapidement lancer un environnement Ubuntu.
Télécharger des images Ubuntu depuis Docker Hub
Docker Hub fournit de nombreuses images Docker officielles. Pour télécharger une image Ubuntu, exécutez :
docker pull ubuntu
Démarrer et arrêter les conteneurs
Utilisez l’image Ubuntu téléchargée pour démarrer un conteneur :
docker run -it ubuntu bash
Cela ouvre un shell à l’intérieur du conteneur Ubuntu, vous permettant d’opérer à l’intérieur.
Liste des conteneurs
Afficher les conteneurs en cours d’exécution :
docker ps
Afficher tous les conteneurs, y compris ceux arrêtés :
docker ps -a
Arrêt et suppression des conteneurs
Arrêter un conteneur en cours d’exécution :
docker stop [container ID or name]
Supprimer un conteneur inutile :
docker rm [container ID or name]
Gestion des images Docker
Lister les images Docker téléchargées :
docker images
Supprimer une image :
docker rmi [image ID]
4. Création d’images personnalisées avec Dockerfile
Qu’est-ce qu’un Dockerfile ?
Un Dockerfile est un fichier de configuration utilisé pour créer des images Docker. En fonction des instructions écrites dans le Dockerfile, vous pouvez créer des images Docker personnalisées. Cela vous permet d’unifier les environnements de développement ou de créer des images incluant les paquets requis.
Syntaxe de base d’un Dockerfile
Un Dockerfile comprend généralement les commandes suivantes :
| Command | Description |
|---|---|
FROM | Specifies the base image |
RUN | Executes commands to build the image |
COPY | Copies files into the container |
WORKDIR | Sets the working directory |
CMD | Default command executed when the container starts |
ENTRYPOINT | Defines the entry point of the container |
Création d’une image personnalisée basée sur Ubuntu
Suivez les étapes ci-dessous pour créer une image Docker personnalisée basée sur Ubuntu.
1. Créer un répertoire de travail
Tout d’abord, créez un nouveau répertoire de projet et déplacez‑vous dedans.
mkdir my-ubuntu-image
cd my-ubuntu-image
2. Créer un Dockerfile
Créez un Dockerfile à l’intérieur du répertoire et écrivez le contenu suivant :
# Base Ubuntu official image
FROM ubuntu:latest
# Maintainer information (optional)
LABEL maintainer="your-email@example.com"
# Update package list and install basic tools
RUN apt update && apt install -y curl vim git
# Set working directory
WORKDIR /workspace
# Default command when the container starts
CMD ["bash"]
3. Construire l’image Docker
Construisez une image personnalisée à partir de votre Dockerfile :« ` docker build -t my-ubuntu-image .
L'option `-t` attribue un nom à l'image.
#### 4. Vérifier l'image
Vérifiez votre image nouvellement construite :
docker images
#### 5. Exécuter un conteneur
Démarrez un conteneur à partir de l'image personnalisée :
docker run -it my-ubuntu-image
Cette image inclut des outils tels que `curl` et `vim`.
## 5. Configuration d'un environnement japonais dans les conteneurs Ubuntu
L'image Ubuntu par défaut utilise un environnement anglais. Pour utiliser le japonais, une configuration supplémentaire est requise.
### Configuration de la locale japonaise
Pour activer l'affichage et la saisie japonais dans un conteneur Ubuntu, installez la locale japonaise.
#### 1. Installer les paquets requis
apt update apt install -y language-pack-ja locales
#### 2. Configurer la locale
Générez et appliquez la locale :
locale-gen ja_JP.UTF-8 update-locale LANG=ja_JP.UTF-8
#### 3. Appliquer les paramètres
export LANG=ja_JP.UTF-8
### Configuration de la saisie japonaise
Pour saisir des caractères japonais dans le terminal, installez `ibus-mozc` :
apt install -y ibus-mozc
Si vous utilisez des applications GUI, ajoutez les variables d'environnement suivantes :
export GTK_IM_MODULE=ibus export XMODIFIERS=@im=ibus export QT_IM_MODULE=ibus
### Utilisation d'applications GUI
Pour exécuter des applications GUI à l'intérieur d'un conteneur Docker, utilisez un serveur X sur la machine hôte.
Exécutez le conteneur avec X11 activé :
docker run -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix my-ubuntu-image
## 6. Optimisation et réduction des images Docker
Les images Docker peuvent être optimisées pour améliorer la vitesse de démarrage des conteneurs et réduire l'utilisation du stockage. Voici plusieurs techniques pour créer des images légères.
### Comment créer une image légère basée sur Ubuntu
L'image par défaut `ubuntu:latest` est relativement grande. Utiliser une option plus légère comme `ubuntu:minimal` aide à réduire la taille du conteneur.
FROM ubuntu:minimal
Une autre option est d'utiliser **Alpine Linux**, qui est nettement plus petit qu'Ubuntu.
FROM alpine:latest RUN apk add –no-cache bash curl
Utiliser Alpine peut réduire la taille de l'image de plusieurs centaines de mégaoctets.
### Réduction de la taille de l'image en supprimant les fichiers inutiles
Vous pouvez réduire la taille de l'image en supprimant les fichiers de cache inutiles créés par `apt-get`.
RUN apt update && apt install -y curl vim \ && apt clean \ && rm -rf /var/lib/apt/lists/*
En particulier, la commande `rm -rf /var/lib/apt/lists/*` supprime les listes de paquets et les données inutilisées.
### Utilisation des constructions multi‑étapes
Les constructions multi‑étapes vous permettent d'utiliser des outils uniquement pendant le processus de construction tout en conservant une image finale légère.
FROM ubuntu as builder RUN apt update && apt install -y gcc
FROM ubuntu:minimal COPY –from=builder /usr/bin/gcc /usr/bin/gcc
De cette façon, vous évitez d'inclure des outils de développement dans l'image finale, ce qui réduit considérablement son empreinte.
## 7. Exemple pratique : développement d'applications dans des conteneurs Ubuntu
Cette section présente comment configurer des environnements de développement à l'intérieur de conteneurs Ubuntu.
### Configuration d'un environnement de développement Python
Créez le Dockerfile suivant pour configurer un environnement de développement Python dans un conteneur Ubuntu :
FROM ubuntu:latest RUN apt update && apt install -y python3 python3-pip CMD [« python3 »]
Construisez l'image et lancez le conteneur :
docker build -t python-dev . docker run -it python-dev
Cet environnement vous permet d'utiliser la commande `python3` pour le développement et le test de scripts.
### Configuration d'un environnement de développement Node.js
Pour configurer un environnement de développement Node.js, utilisez le Dockerfile suivant :
FROM ubuntu:latest RUN apt update && apt install -y nodejs npm CMD [« node »]
Construisez et lancez le conteneur :
docker build -t node-dev . docker run -it node-dev
Cet environnement permet l'exécution de JavaScript et le développement d'applications avec la commande `node`.
## 8. FAQ & Dépannage
L'utilisation de Docker peut entraîner divers problèmes. Vous trouverez ci‑dessous les questions courantes et leurs solutions typiques.
### Différence entre Docker et les machines virtuelles
* **Docker** : Partage le noyau du système d'exploitation hôte, ce qui le rend léger avec un démarrage rapide des conteneurs.
* **Machines virtuelles (VM)** : Chaque VM inclut son propre système d'exploitation, ce qui entraîne une utilisation plus élevée des ressources et un démarrage plus lent.
Docker excelle en optimisation des ressources et convient aux environnements de développement ainsi qu'au déploiement automatisé.
### Persistance des données dans les conteneurs Ubuntu
Pour conserver les données même après l'arrêt d'un conteneur, utilisez les **montages de volumes** :
docker run -v my_data:/data ubuntu
Même si le conteneur est supprimé, les données stockées dans le volume `my_data` peuvent être réutilisées.
### Erreurs courantes et solutions
#### 1. Erreur `permission denied`
Si vous voyez `permission denied` en essayant d'exécuter Docker, il se peut que votre utilisateur n'appartienne pas au groupe `docker`.
Ajoutez l'utilisateur au groupe Docker :
sudo usermod -aG docker $USER
Déconnectez‑vous et reconnectez‑vous pour appliquer le changement.
#### 2. Erreur `image not found`
Si une image a été supprimée de Docker Hub, spécifiez une balise plus récente lors du pull :
docker pull ubuntu:22.04 « `
Spécifier une version explicite garantit que l’image correcte est récupérée.


