Commandes Docker
đł Docker, c'est quoi ?â
Docker est une application, qui permet de créer, déployer et exécuter des applications dans des conteneurs.
đč Un conteneur, c'est une sorte de mini-machine virtuelle ultra lĂ©gĂšre qui contient tout ce dont une application a besoin pour fonctionner :
â Le code de l'application
â Ses dĂ©pendances (librairies, outilsâŠ)
â Son environnement d'exĂ©cution
L'idée est de standardiser et isoler les applications.
đ Les concepts de baseâ
đč Image : Une "photo" d'un environnement prĂ©configurĂ© (ex: une image Ubuntu avec Apache installĂ©).
đč Conteneur : Une instance en cours dâexĂ©cution dâune image.
đč Dockerfile : Un script qui dĂ©finit comment construire une image Docker.
đč Docker Hub : Un registre public oĂč l'on peut tĂ©lĂ©charger des images Docker officielles (ex: nginx, mysql, ubuntu).
đ Les commandes Docker essentiellesâ
VĂ©rifier si Docker est installĂ©â
docker --version
TĂ©lĂ©charger une image depuis Docker Hubâ
docker pull ubuntu
Lister les images disponibles localementâ
docker images
CrĂ©er et exĂ©cuter un conteneurâ
docker run -d -p 8080:80 --name container httpd
Lance un serveur web Apache en arriĂšre-plan (-d), accessible sur le port 8080.
Lister les conteneurs en cours d'exĂ©cutionâ
docker ps
ArrĂȘter un conteneurâ
docker stop container
Supprimer un conteneurâ
docker rm container
Supprimer une imageâ
docker rmi image
Voir les logs dâun conteneurâ
docker logs container
AccĂ©der Ă un conteneur en ligne de commandeâ
docker exec -it container /bin/bash
Lancer un serveur Nginx en conteneurâ
docker run -d -p 8080:80 --name mon-nginx nginx
âĄïž Maintenant, accĂšde Ă http://localhost:8080 dans ton navigateur, et tu verras la page par dĂ©faut de Nginx ! đ
đŠ Docker Compose : gĂ©rer plusieurs conteneursâ
Si ton application a plusieurs services (ex: une base de données + une API), Docker Compose permet de tout orchestrer avec un simple fichier docker-compose.yml.
Exemple : lancer une application WordPress + MySQL avec Docker Compose :
version: '3'
services:
db:
image: mysql:5.7
restart: always
environment:
MYSQL_ROOT_PASSWORD: rootpass
MYSQL_DATABASE: wordpress
wordpress:
image: wordpress
restart: always
ports:
- "8080:80"
environment:
WORDPRESS_DB_HOST: db
WORDPRESS_DB_USER: root
WORDPRESS_DB_PASSWORD: rootpass
âĄïž DĂ©marrage de lâenvironnement :
docker-compose up -d
Tu peux maintenant accéder à WordPress sur http://localhost:8080.