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
Download DockerVisitez le Docker website and download the appropriate version for your operating system.
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.
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.
Tester l'installationOuvrez votre terminal et exécutez la commande :
docker --versionCela 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 aideThis 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 imagesThis 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:latestThis 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 psPour voir tous les conteneurs (y compris ceux qui sont arrêtés), exécutez :
docker ps -ab. 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:latestThe -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 prunee. 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 lsb. Creating a Network
Pour créer un nouveau réseau :
docker network create [NOM_DU_RÉSEAU]Example:
docker network create my_networkc. 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 lsb. 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 nettoyer5. 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: exampleb. Démarrage des services
To start the services defined in your docker-compose.yml file, run:
docker-compose upAdd the -d drapeau pour exécuter en mode détaché.
c. Stopping Services
To stop running services, use:
docker-compose downThis 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:
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.
Limit Container Privileges: Run containers with the least privileges necessary. Use the
--utilisateuroption pour spécifier un utilisateur et éviter de s'exécuter en tant que root.Regularly Scan Images: Utilisez des outils comme Docker Bench Security or other scanning tools to check for vulnerabilities in your images.
Contrôler l'utilisation des ressources: Limitez la quantité de CPU et de mémoire qu'un conteneur peut utiliser avec le
--mémoireand--processeursoptions lors de l'exécution d'un conteneur.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 !
Related posts:
- Maîtriser Docker Compose : Les commandes essentielles expliquées
- Erreurs courantes rencontrées lors de l'utilisation de Docker CLI : un guideLorsque vous travaillez avec Docker CLI, il est important de comprendre les erreurs courantes qui peuvent survenir. Voici quelques-unes des erreurs les plus fréquentes et comment les résoudre :1. Erreur de syntaxe : Assurez-vous que vous utilisez la bonne syntaxe pour les commandes Docker. Vérifiez que vous avez bien orthographié les commandes et que vous utilisez les bons arguments.2. Problèmes de permissions : Si vous rencontrez des erreurs de permissions, assurez-vous que vous avez les droits nécessaires pour exécuter les commandes Docker. Vous pouvez avoir besoin d'utiliser sudo ou d'ajouter votre utilisateur au groupe docker.3. Images non trouvées : Si vous essayez de lancer un conteneur à partir d'une image qui n'existe pas localement, Docker essaiera de la télécharger depuis le registre. Assurez-vous que l'image existe et que vous avez une connexion Internet.4. Conflits de ports : Si vous essayez de lancer un conteneur sur un port déjà utilisé par un autre conteneur ou service, vous obtiendrez une erreur. Assurez-vous que le port que vous souhaitez utiliser est disponible.5. Problèmes de réseau : Si vous rencontrez des problèmes de connectivité réseau avec vos conteneurs, vérifiez que votre configuration réseau est correcte. Assurez-vous que les conteneurs peuvent communiquer entre eux et avec l'extérieur si nécessaire.6. Volumes inexistants : Si vous spécifiez un volume qui n'existe pas, Docker créera un volume anonyme. Assurez-vous que les volumes que vous utilisez existent ou sont correctement créés.7. Variables d'environnement manquantes : Si votre application nécessite des variables d'environnement spécifiques, assurez-vous de les définir correctement lors du lancement du conteneur.8. Problèmes de mémoire : Si votre conteneur manque de mémoire, il peut planter ou ne pas démarrer correctement. Assurez-vous que vous allouez suffisamment de mémoire à vos conteneurs.9. Conflits de noms : Si vous essayez de créer un conteneur avec un nom déjà utilisé, vous obtiendrez une erreur. Assurez-vous que les noms de vos conteneurs sont uniques.10. Problèmes de dépendances : Si votre application a des dépendances spécifiques, assurez-vous qu'elles sont correctement installées dans l'image Docker ou dans le conteneur.En comprenant ces erreurs courantes et en sachant comment les résoudre, vous serez mieux équipé pour travailler efficacement avec Docker CLI.
- Common Errors When Running Docker Commands and Solutions
- Bonnes pratiques essentielles pour l'optimisation des fichiers Docker Compose
