Commandes Docker

Installation

Installation de Docker via Aptitude:

sudo apt-get update
sudo apt-get install lxc-docker​

Installation de Docker via le script d’installation officiel:

wget -O dockerinstall.sh https://get.docker.com
sh ./dockerinstall.sh

Information

Afficher les informations sur la version de Docker installée​:

docker version

Obtenir la liste des commandes du client Docker:

docker help

Obtenir de l’aide sur les options d’une commande:

docker help nom_de_la_commande

Docker Hub

​Connexion à un compte Docker Hub:

docker login

Déconnexion du compte Docker Hub:

docker logout

Récupérer une image

Récupérer une image sans la lancer:

docker pull nom_de_l_image

Récupération d’une image Ubuntu dans sa dernière version:

docker pull ubuntu:latest

​Rechercher une image Nginx avec au moins 5 étoiles:

docker search --stars=5 nginx

Envoyer d’une image

Envoyer une image locale sur le registre Docker Hub:

docker push nom_image

Envoyer une image sur un registre privé:

docker push localhost:88/ubuntu

Dépôt de l’image depuis une autre machine (host=starmate):

docker push starmate:5000/ubuntu

Sauvegarde et restauration

Export d’une image sous forme d’archive:

docker save -o fichier.tar nom_image

Import d’une archive d’image:

docker load -i fichier.tar

Lancement de conteneur

Démarrer un conteneur arrêté:

docker start nom_image

Redémarrer un conteneur en cours:

docker restart nom_image

Redémarrer un conteneur en spécifiant la période de grâce:

docker restart -t 20 nom_image

Démarrer le conteneur de test Hello World:

docker run hello-world​

Démarrer un conteneur en mode interactif:

docker run -i -t ubuntu

Démarrer sans option d’un conteneur:

docker run ubuntu

Démarrer un conteneur avec un nom donné:

docker run --name=nom_donné nom_image

Démarrer un conteneur avec une commande donnée:

docker run nom_de_l_image commande_à_exécuter

Démarrer un conteneur en ajoutant une variable d’environnement:

docker run -e=nom_variable=valeur nom_image

ou

docker run -e nom_variable=valeur nom_image

Démarrer un conteneur en injectant une des variables d’environnement de la machine hôte:

docker run -e=nom_variable image_à_instancier

Démarrer un conteneur en injectant des variables d’environnement stockées dans un fichier:

docker run --env-file=nom_fichier nom_image

Démarrer un conteneur en modifiant son hostname:

docker run -h hostname_voulu

Démarrer un conteneur en montant un dossier dans le conteneur depuis la machine hôte en RO (read only):

docker run -v dossier_sur_hote:dossier_sur_l_image:ro nom_image

Démarrer un conteneur en mode détaché:

docker run -d nom_image

Démarrer un conteneur d’un registre privé en localhost (port 5000 vers 88):

docker run -d --name starmate -p 88:5000 starmate:2.0

Démarrer un conteneur d’un registre privé sur le réseau local (IPhost=starmate dans tous les fichiers hosts):

docker run -d --name starmate -p 5000:5000 starmate:2.0

Démarrer un conteneur du registre privé en réseau local (IPhost= starmate dans tous les fichiers hosts) en montant un dossier local de la machine host:

docker run -d --name starmate -p 5000:5000 -v /dossier_machine_host:/dossier_image_starmate starmate:2.0

Démarrer et supprimer un conteneur dès la sortie du processus:

docker run --rm hello-world

Connexion à un conteneur

Connexion à un conteneur en tant que root avec bash:

docker exec -u root -it ID_conteneur bash

Suppression de conteneur

Supprimer un conteneur arrêté:

docker rm loving_lovelace

Supprimer un conteneur de manière forcée:

docker rm -f nom_conteneur

Supprimer tous les conteneurs:

docker rm `docker ps -a -q`

Suppression d’une image

Supprimer une image:

docker rmi nom_de_l_image

Supprimer plusieurs images:

docker rmi image1 image2 imageN

Arrêt d’un conteneur

Arrêter un conteneur:

docker stop nom_image

Envoyer un signal à un conteneur:

docker kill -s code_du_signal nom_image

Monitoring

​Lister les conteneurs en cours de fonctionnement:

docker ps

​Lister tous les conteneurs:

docker ps -a

Lister les images Docker présentes sur la machine locale:

docker images

Lister les modifications d’un conteneur par rapport à son image de lancement:

docker diff identifiant_du_conteneur

Visualiser les logs d’un conteneur:

docker logs nom_image

Explorer les processus d’un conteneur:

docker top nom_image

Construction d’un conteneur

Persister l’état d’un conteneur en une nouvelle image:

docker commit identifiant_du_conteneur  nom_de_l_image

Tag

Tag d’un conteneur:

docker build -t identifiant_du_conteneur starmate:1.0

Modifier le tag d’un conteneur:

docker tag starmate:1.0 starmate:latest

Forcer le tag d’un conteneur (si tag déjà existant):

docker tag -f starmate:1.0 starmate:latest

 

Derniers Articles