Comment utiliser les commandes Docker de base

DockerBeginner
Pratiquer maintenant

Introduction

Docker a révolutionné le développement logiciel en fournissant une plateforme puissante pour la conteneurisation. Ce tutoriel complet vous guidera à travers les commandes Docker fondamentales, aidant les développeurs et les administrateurs système à comprendre comment gérer efficacement les conteneurs, les images et les réseaux Docker. Que vous soyez débutant ou que vous souhaitiez rafraîchir vos compétences Docker, ce guide fournira des informations pratiques sur l'utilisation de l'interface de ligne de commande de Docker.

Concepts Fondamentaux de Docker

Qu'est-ce que Docker ?

Docker est une plateforme open-source conçue pour automatiser le déploiement, le dimensionnement et la gestion des applications grâce à la conteneurisation. Elle permet aux développeurs d'emballer les applications avec toutes leurs dépendances dans des unités standardisées appelées conteneurs, qui peuvent fonctionner de manière cohérente sur différents environnements informatiques.

Concepts Clés de Docker

1. Conteneurs

Les conteneurs sont des paquets exécutables autonomes et légers qui incluent tout ce dont une application a besoin pour fonctionner :

  • Code
  • Runtime
  • Outils système
  • Bibliothèques système
  • Paramètres
graph LR
    A[Code de l'application] --> B[Conteneur]
    C[Dépendances] --> B
    D[Bibliothèques système] --> B
    E[Configuration] --> B

2. Images

Les images Docker sont des modèles en lecture seule utilisés pour créer des conteneurs. Elles servent de modèles pour la création de conteneurs et peuvent être stockées dans des registres comme Docker Hub.

3. Dockerfile

Un Dockerfile est un document texte contenant les instructions pour la création d'une image Docker. Il définit l'environnement, les dépendances et la configuration d'une application.

Exemple de Dockerfile :

FROM ubuntu:22.04
RUN apt-get update
RUN apt-get install -y python3
COPY . /app
WORKDIR /app
CMD ["python3", "app.py"]

4. Architecture de Docker

graph TB
    A[Client Docker] --> B[Daemon Docker]
    B --> C[Runtime du conteneur]
    B --> D[Registre d'images]
    B --> E[Stockage d'images]

5. Conteneur vs Machines Virtuelles

Caractéristique Conteneurs Machines Virtuelles
Utilisation des ressources Léger Important
Temps de démarrage Quelques secondes Quelques minutes
Niveau d'isolation Niveau processus Niveau système complet
Performances Élevées Moindres

Avantages de Docker

  1. Cohérence entre les environnements
  2. Déploiement plus rapide
  3. Scalabilité améliorée
  4. Meilleure utilisation des ressources
  5. Gestion simplifiée des dépendances

Cas d'utilisation

  • Architecture microservices
  • Intégration continue/déploiement continu (CI/CD)
  • Développement d'applications cloud natives
  • Tests d'applications simplifiés

Démarrage avec LabEx

LabEx fournit des environnements d'apprentissage interactifs Docker qui aident les développeurs à comprendre et à mettre en pratique rapidement les technologies de conteneurisation.

Guide d'installation de Docker

Prérequis

Avant d'installer Docker, assurez-vous que votre système Ubuntu 22.04 répond aux exigences suivantes :

  • Système d'exploitation 64 bits
  • Version du noyau 3.10 ou supérieure
  • Ressources système suffisantes

Méthodes d'installation

1. Installation à partir du dépôt

Étape 1 : Mettre à jour l'index des paquets
sudo apt-get update
Étape 2 : Installer les paquets requis
sudo apt update
sudo apt-get install ca-certificates curl gnupg lsb-release
Étape 3 : Ajouter la clé GPG officielle de Docker
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
Étape 4 : Configurer le dépôt Docker
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
Étape 5 : Installer le moteur Docker
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io

2. Vérifier l'installation

sudo docker --version
sudo docker run hello-world

Flux d'installation

graph TD
    A[Mettre à jour le système] --> B[Installer les dépendances]
    B --> C[Ajouter la clé GPG]
    C --> D[Configurer le dépôt]
    D --> E[Installer Docker]
    E --> F[Vérifier l'installation]

Étapes post-installation

1. Gérer Docker en tant qu'utilisateur non root

sudo usermod -aG docker $USER
newgrp docker

2. Configurer Docker pour le démarrage au démarrage

sudo systemctl enable docker
sudo systemctl start docker

Options d'installation de Docker

Méthode Avantages Inconvénients
Dépôt Mises à jour faciles Nécessite une connexion internet
Paquet officiel Contrôle direct Mises à jour manuelles
Installation par script Configuration rapide Moins sécurisé

Dépannage des problèmes courants

  • Vérifier la compatibilité du système
  • Vérifier la connectivité réseau
  • S'assurer qu'il y a suffisamment d'espace disque
  • Mettre à jour régulièrement les paquets système

Environnement d'apprentissage Docker de LabEx

LabEx fournit des tutoriels interactifs d'installation de Docker et des environnements de pratique pratiques pour aider les développeurs à maîtriser rapidement et efficacement les technologies de conteneurisation.

Configuration système recommandée

Composant Spécification minimale
CPU 2 cœurs
RAM 4 Go
Espace disque 20 Go
OS Ubuntu 22.04 LTS

Commandes Docker de Base

Structure des commandes Docker

Les commandes Docker suivent une syntaxe standard :

docker [commande] [options] [arguments]

Commandes de gestion d'images

1. Télécharger des images

docker pull ubuntu:latest
docker pull nginx:alpine

2. Lister les images

docker images
docker image ls

3. Supprimer des images

docker rmi ubuntu:latest
docker image rm nginx:alpine

Commandes de gestion de conteneurs

1. Créer et exécuter des conteneurs

docker run -d --name web-server nginx
docker run -it ubuntu:latest /bin/bash

2. Lister les conteneurs

docker ps    ## Conteneurs en cours d'exécution
docker ps -a ## Tous les conteneurs

3. Démarrer, arrêter, redémarrer des conteneurs

docker start web-server
docker stop web-server
docker restart web-server

4. Supprimer des conteneurs

docker rm web-server
docker container prune ## Supprimer tous les conteneurs arrêtés

Commandes d'interaction avec les conteneurs

1. Exécuter des commandes dans un conteneur

docker exec -it web-server bash
docker exec web-server ls /var/www/html

2. Afficher les journaux des conteneurs

docker logs web-server
docker logs -f web-server ## Suivre la sortie des journaux

Flux de travail Docker

graph TD
    A[Télécharger l'image] --> B[Créer le conteneur]
    B --> C[Démarrer le conteneur]
    C --> D[Interagir/Exécuter]
    D --> E[Arrêter le conteneur]
    E --> F[Supprimer le conteneur]

Commandes Docker avancées

1. Construire des images personnalisées

docker build -t myapp:v1 .

2. Volumes Docker

docker volume create myvolume
docker run -v myvolume:/app nginx

3. Gestion du réseau

docker network create mynetwork
docker run --network mynetwork nginx

Catégories courantes de commandes Docker

Catégorie But Exemples de commandes
Gestion des images Gérer les images Docker pull, push, build
Gestion des conteneurs Contrôler les conteneurs run, start, stop
Gestion du système Informations système Docker info, version
Gestion du réseau Gérer les réseaux network create
Gestion des volumes Gérer les données persistantes volume create

Bonnes pratiques

  • Utiliser des balises d'image spécifiques
  • Nettoyer les ressources inutilisées
  • Utiliser Docker Compose pour les configurations complexes
  • Implémenter des builds multi-étapes

Apprentissage Docker de LabEx

LabEx propose des environnements interactifs pour pratiquer ces commandes Docker, aidant les développeurs à acquérir efficacement des compétences pratiques en conteneurisation.

Options de commandes Docker utiles

Option Description Exemple
-d Mode détaché docker run -d nginx
-it Terminal interactif docker run -it ubuntu
--name Nommer un conteneur docker run --name web nginx
-p Mappage de ports docker run -p 8080:80 nginx

Résumé

En maîtrisant ces commandes Docker de base, vous avez acquis des compétences essentielles pour la gestion et le déploiement de conteneurs. Docker offre une solution robuste pour créer, exécuter et gérer des conteneurs dans différents environnements. En poursuivant l'exploration des fonctionnalités de Docker, n'oubliez pas que ces commandes fondamentales constituent la base de stratégies de conteneurisation efficaces. Entraînez-vous et expérimentez avec ces commandes pour devenir compétent dans la technologie Docker et optimiser vos flux de travail de développement.