Ceci est une ancienne révision du document !
Virtualisation avec Docker
Docker est un système de virtualisation proche du sysème hote (s'il est similaire). Il permet de partager des ressources et de moins solliciter le système.
Quelques sources :
- Un serveur web docker : https://techexpert.tips/fr/apache-fr/apache-installation-docker
Installation
Voir la méthode recommandée : https://docs.docker.com/install
Ou depuis les dépots d'Ubuntu récents :
sudo apt install docker.io
Mettre l'utilisateur courant dans le groupe docker :
sudo addgroup monlogin docker
Principe de fonctionnement
On peut soit récupérer une image docker existante depuis un dépot (hub.docker.com), soit la créér-adapter soi-même depuis un fichier texte nommé Dockerfile (combiné avec d'auters fichiers en option) (et l'envoyer ensuit sur le dépot).
Il faut donc distinguer :
- image docker : image “modèle”, à mettre à jour
- conteneur docker : une ou plusieurs instanciations de l'image docker de référence
Voir la version de docker : docker version
Récupérer une image : docker pull nomimage
Voir les images récupérées : docker images
Voir les images disponibles : docker search mot
Effacer une image locale : docker rmi nomimage
Chaque image peut être instanciée plusieurs fois pour avoir plusieurs conteneurs différentes, comportant chacun un nom propre.
Mettre à jour une image : docker update nomimage
Lancement d'un conteneur
Création d'un conteneur nommé : docker run -d –name nomconteneur nomimage
Exemple : docker run hello-world
Voir les instances en cours avec docker ps -a
(et leur nom en fin de colonne).
Détruire un conteneur : docker rm nomconteneur
Lancer un conteneur : docker start nomconteneur
Arrêter un conteneur : docker stop nomconteneur
Voir les conteneurs actifs : docker ps
Voir les conteneurs actifs et inactifs : docker ps -a
Chaque image docker possède plusieurs tags, par défaut “latest” est utilisé pour avoir la dernière version.
Quelques commandes utiles
docker run -it nomimage
: lance un conteneur en mode interactif, on se retrouve dans le conteneur.
docker start nomcontainer
: démarre un conteneur existant
docker exec nomcontainer /bin/bash bash
: prend la main sur ce conteneur
docker stop nomcontainer
: stoppe un conteneur existant
Besoin d'aide ?
docker -h docker container -h # manage les container docker image -h # manage les images
Idem pour network, service, system….