Essential Docker CLI Commands: A Beginner’s Guide

Les commandes Docker CLI sont essentielles pour gérer les applications conteneurisées. Ce guide présente les commandes fondamentales comme `docker run`, `docker ps` et `docker build` pour rationaliser votre flux de développement.
Table of Contents
commandes-docker-cli-essentielles-un-guide-pour-débutants-2

Docker CLI: Essential Commands for Beginners

Docker is a powerful platform that enables developers to automate the deployment of applications inside lightweight containers. Containers encapsulate an application and its dependencies, ensuring that it runs seamlessly across different environments. While Docker provides a graphical user interface (GUI) in some instances, the command line interface (CLI) is the most efficient and preferred way to interact with Docker. In this article, we’ll dive deep into essential Docker CLI commands, providing a comprehensive guide for beginners aiming to harness the power of Docker.

Qu'est-ce que Docker ?

Before we delve into the CLI commands, let’s briefly review what Docker is. Docker is an open-source containerization platform that enables developers to package applications into containers. A container includes the application code, runtime, libraries, and system tools needed to run the application. This isolation allows developers to be confident that their application will behave the same way regardless of where it is run, whether on a developer’s machine, a staging server, or in production.

Installing Docker

Avant de pouvoir commencer à utiliser les commandes de l'interface CLI de Docker, vous devez installer Docker sur votre machine. Docker fournit des instructions détaillées pour différents systèmes d'exploitation - Windows, macOS et Linux. Le processus d'installation implique généralement le téléchargement de Docker Desktop pour Windows et macOS ou l'installation du moteur Docker pour les distributions Linux.

Étapes d'installation

  1. Download DockerVisitez le Docker website and download the appropriate version for your operating system.

  2. Installer Docker: Follow the installation instructions specific to your OS. On Linux, you might need to configure the Docker repository and install Docker via your package manager.

  3. Start DockerAssurez-vous que Docker est en cours d'exécution sur votre machine. Sur Docker Desktop, vous pouvez voir une icône dans votre barre d'état système indiquant que Docker est actif.

  4. Tester l'installationOuvrez votre terminal et exécutez la commande :

    docker --version

    Cela doit renvoyer la version installée de Docker si tout a été configuré correctement.

Docker CLI Basics

The Docker CLI allows users to interact with the Docker daemon and manage Docker containers, images, networks, and volumes. The basic syntax of any Docker command is:

docker [OPTIONS] COMMAND [ARG...]

To get familiar with Docker commands, you can always start by running:

docker aide

This command will provide you with a brief overview of available commands.

Essential Docker CLI Commands

1. Docker Images

Images are the blueprints for containers. They contain everything needed to run applications, including the code, libraries, and runtime. The following commands are fundamental when working with Docker images.

a. Listing Images

To list all the images on your local system, use:

docker images

This command displays a list of images, including their repository, tag, image ID, creation date, and size.

b. Pulling an Image

Pour télécharger une image Docker depuis Docker Hub, utilisez :

docker pull [IMAGE:TAG]

Par exemple :

docker tirer nginx:latest

This command fetches the latest version of the Nginx image.

c. Building an Image

You can create your own Docker image using a Dockerfile. Use the following command to build an image:

docker build -t [IMAGE_NAME:TAG] [PATH_TO_DOCKERFILE]

Example:

docker build -t myapp:1.0 .

Cette commande construit une image nommée myapp with the tag 1.0 using the Dockerfile in the current directory.

d. Removing an Image

Pour supprimer une image, utilisez :

docker rmi [ID_IMAGE]

Si une image est utilisée par un conteneur, vous devez peut-être d'abord supprimer le conteneur ou utiliser la... -f flag to force the removal.

2. Docker Containers

Les conteneurs sont des instances d'images Docker qui exécutent des applications. Vous pouvez créer, démarrer, arrêter et gérer les conteneurs à l'aide de diverses commandes de l'interface en ligne de commande (CLI) de Docker.

a. Liste des conteneurs

Pour lister les conteneurs en cours d'exécution, utilisez :

docker ps

Pour voir tous les conteneurs (y compris ceux qui sont arrêtés), exécutez :

docker ps -a

b. Running a Container

Pour créer et démarrer un nouveau conteneur à partir d'une image, utilisez :

docker run [OPTIONS] [IMAGE:TAG]

For example, to run a new Nginx container:

docker run -d -p 80:80 nginx:latest

The -d option runs the container in detached mode, and -p maps port 80 of the container to port 80 of the host.

c. Stopping a Container

To stop a running container, use:

docker stop [CONTAINER_ID]

You can also use the container name as an identifier.

d. Removing a Container

Pour supprimer un conteneur arrêté, utilisez :

docker rm [CONTAINER_ID]

For removing all stopped containers, you can run:

docker container prune

e. Consultation des journaux

To view the logs from a container, use:

docker logs [CONTAINER_ID]

Cela est particulièrement utile pour le débogage d'applications s'exécutant à l'intérieur d'un conteneur.

3. Réseaux Docker

Docker vous permet de créer et de gérer des réseaux, permettant ainsi aux conteneurs de communiquer entre eux.

a. Répertoire des réseaux

Pour voir tous les réseaux disponibles, utilisez :

docker network ls

b. Creating a Network

Pour créer un nouveau réseau :

docker network create [NOM_DU_RÉSEAU]

Example:

docker network create my_network

c. Connecting a Container to a Network

Pour connecter un conteneur existant à un réseau :

docker network connect [NETWORK_NAME] [CONTAINER_ID]

d. Déconnexion d'un conteneur d'un réseau

To disconnect a container from a network:

docker network disconnect [NOM_DU_RÉSEAU] [ID_DU_CONTENEUR]

4. Docker Volumes

Volumes are used to persist data generated by and used by Docker containers. They provide a way to store data outside of containers, allowing data to remain intact even if containers are stopped or removed.

a. Énumération des volumes

Pour lister tous les volumes, utilisez :

docker volume ls

b. Creating a Volume

Pour créer un nouveau volume :

docker volume create [NOM_DU_VOLUME]

c. Inspection d'un volume

To get detailed information about a volume:

docker volume inspect [NOM_DU_VOLUME]

d. Suppression d'un volume

Pour supprimer un volume :

docker volume rm [NOM_DU_VOLUME]

Pour supprimer tous les volumes inutilisés :

docker volume nettoyer

5. Docker Compose

Bien qu'il ne s'agisse pas d'une seule commande, Docker Compose est un outil essentiel pour gérer les applications multi-conteneurs. Il vous permet de définir et d'exécuter des applications Docker multi-conteneurs à l'aide d'un seul fichier YAML.

a. Defining a Compose File

Create a docker-compose.yml fichier où vous définissez vos services, réseaux et volumes.

Example:

version: '3'
services:
  web:
    image: nginx
    ports:
      - "80:80"
  db:
    image: mysql
    environment:
      MYSQL_ROOT_PASSWORD: example

b. Démarrage des services

To start the services defined in your docker-compose.yml file, run:

docker-compose up

Add the -d drapeau pour exécuter en mode détaché.

c. Stopping Services

To stop running services, use:

docker-compose down

This command stops and removes the containers defined in the docker-compose.yml file.

Docker Security

While Docker simplifies application deployment, security is crucial, especially in production environments. Understanding the security implications of containerization can help you mitigate risks. Here are some best practices:

  1. Utilisez des images officielles: Dans la mesure du possible, utilisez des images officielles depuis Docker Hub. Celles-ci sont régulièrement mises à jour et maintenues par des sources fiables.

  2. Limit Container Privileges: Run containers with the least privileges necessary. Use the --utilisateur option pour spécifier un utilisateur et éviter de s'exécuter en tant que root.

  3. Regularly Scan Images: Utilisez des outils comme Docker Bench Security or other scanning tools to check for vulnerabilities in your images.

  4. Contrôler l'utilisation des ressources: Limitez la quantité de CPU et de mémoire qu'un conteneur peut utiliser avec le --mémoire and --processeurs options lors de l'exécution d'un conteneur.

  5. Sécurité réseau: Isoler les conteneurs à l'aide de réseaux et limiter l'accès uniquement à ceux qui en ont besoin.

Conclusion

Understanding Docker CLI and its essential commands is crucial for any developer looking to leverage the power of containerization. The commands outlined in this article provide a solid foundation for beginners, allowing you to manage images, containers, networks, and volumes effectively.

Au fur et à mesure que vous progressez dans votre parcours Docker, envisagez d'explorer des scénarios plus complexes tels que les applications multi-conteneurs avec Docker Compose, l'orchestration avec Kubernetes, et les pipelines d'intégration et de déploiement continus (CI/CD) qui intègrent Docker pour des déploiements automatisés.

En maîtrisant l'interface de ligne de commande Docker, vous améliorerez votre flux de travail de développement, augmenterez la cohérence de vos applications et, en fin de compte, livrerez de meilleurs logiciels plus rapidement. Bonne Dockerisation !