GNU/Linux >> Tutoriels Linux >  >> Panels >> Docker

20 exemples de commandes Docker utiles sous Linux

Le conteneur Docker est l'une des technologies les plus émergentes de nos jours. Les conteneurs Docker sont généralement utilisés dans la plate-forme CI/CD (intégration continue/déploiement continu). Les conteneurs sont des machines virtuelles légères (machines virtuelles) qui utilisent les ressources sous-jacentes des hyperviseurs telles que (RAM, CPU, disque dur et noyau).

La commande Docker est utilisée pour gérer les conteneurs et les images à partir de la ligne de commande. Dans cet article, nous couvrirons 20 exemples de commandes Docker utiles sous Linux. Je suppose que docker est déjà installé sur votre système Linux et que votre utilisateur habituel est ajouté au groupe docker.

1) Vérifier la version de Docker

La première tâche importante lorsque vous travaillez sur des conteneurs Docker est de connaître votre version Docker, exécutez la commande Docker ci-dessous pour connaître la version

$ docker --version
Docker version 20.10.12, build e91ed57
$

2) Afficher les informations sur l'ensemble du système

La commande 'docker info' est utilisée pour afficher les informations à l'échelle du système telles que le répertoire racine Docker, la version du système d'exploitation, la version du noyau, la version Docker, la RAM, le processeur et le registre Docker.

$ docker info

3) Rechercher des images Docker

À l'aide de la commande "recherche docker", nous pouvons rechercher les images du conteneur docker à partir du registre du hub docker. Supposons que je souhaite rechercher les dernières images docker nginx.

$ docker search nginx

La sortie de la commande ci-dessus ressemblerait à celle ci-dessous,

4) Télécharger les images du conteneur Docker

La commande Docker pull est utilisée pour télécharger des images de conteneur à partir du registre Docker Hub.

Syntaxe :

$ docker pull

La commande Docker pull essaie toujours de télécharger la dernière version de l'image, bien que nous puissions spécifier la version particulière de l'image. Supposons que je souhaite télécharger la dernière version de l'image rsyslog

$ docker pull nginx
Using default tag: latest
latest: Pulling from library/nginx
5eb5b503b376: Pull complete
1ae07ab881bd: Pull complete
78091884b7be: Pull complete
091c283c6a66: Pull complete
55de5851019b: Pull complete
b559bad762be: Pull complete
Digest: sha256:2834dc507516af02784808c5f48b7cbe38b8ed5d0f4837f16e78d00deb7e7767
Status: Downloaded newer image for nginx:latest
docker.io/library/nginx:latest
$

Téléchargement d'une image spécifique basée sur la version, supposons que nous voulons télécharger l'image docker Ubuntu:20:04, exécutez

$ docker pull ubuntu:20.04
20.04: Pulling from library/ubuntu
08c01a0ec47e: Pull complete
Digest: sha256:669e010b58baf5beb2836b253c1fd5768333f0d1dbcb834f7c07a4dc93f474be
Status: Downloaded newer image for ubuntu:20.04
docker.io/library/ubuntu:20.04
$

5) Afficher les images de conteneur Docker téléchargées

Comme nous savons que le répertoire racine de docker est '/var/lib/docker', donc chaque fois que nous téléchargeons des images à l'aide de la commande docker pull, toutes les images seront enregistrées dans le répertoire racine de docker.

Pour afficher toutes les images de conteneur Docker téléchargées, exécutez

$ docker image ls
or 
$ docker images

Sortie

6) Exécuter le conteneur Docker

Les conteneurs sont lancés avec la commande "docker run", supposons que je souhaite exécuter un conteneur à partir de l'image nginx.

$ docker run -it -p 9000:80 --name=myapp nginx

sortie

Ci-dessus exécutera un conteneur avec le nom "myapp" et nous définissons également la règle pat de telle sorte que si une demande arrive sur le port 9000 sur l'hôte docker, cette demande sera redirigée vers le conteneur myapp sur le port 80. Si vous avez peut-être remarqué que nous obtenons directement la console juste après avoir exécuté la commande. Tapez exit pour arrêter / fermer le conteneur et si vous voulez sortir du conteneur sans l'arrêter, tapez "ctrl+p+q"

Vous pouvez maintenant accéder à votre application nginx sur le port 9000 à l'aide de la commande curl,

$ curl http://<Docker-Host-IP-Address>:9000/

7) Exécuter le conteneur en mode détaché

Nous pouvons exécuter un conteneur en mode détachement en utilisant l'option -d dans la commande 'docker run'. Ici, le mode détachement signifie que nous obtiendrons l'invite de commande après avoir exécuté la commande docker run. L'exemple est montré ci-dessous,

$ docker run -it -d -p 9080:80 --name=myapp2 httpd
f7dc2ece64708a9de5e53f341b0c7d17ac9189fb7c99079ad8744348bc5a6faa
$

8) Afficher tous les conteneurs en cours d'exécution

La commande Run 'docker ps' est utilisée pour afficher tous les conteneurs en cours d'exécution

$ docker ps

Pour afficher tous les conteneurs en cours d'exécution avec les conteneurs quittés ou arrêtés, exécutez

$ docker ps -a

9) Accès à la console du conteneur

Pour obtenir l'accès à la console du conteneur, exécutez la commande "docker exec"

[email protected]:~$ docker exec -it myapp /bin/bash
[email protected]:/#

Pour sortir de la console tapez la commande exit

10) Démarrer, arrêter, redémarrer et tuer les conteneurs

Tout comme les machines virtuelles, nous pouvons démarrer, arrêter et redémarrer les conteneurs Docker.

Utilisez la commande ci-dessous pour arrêter un conteneur en cours d'exécution

$ docker stop myapp2
myapp2
$

Au lieu du nom du conteneur, nous pouvons également utiliser l'ID du conteneur

Utilisez la commande ci-dessous pour démarrer un conteneur.

$ docker start myapp2
myapp2
$

Utilisez la commande ci-dessous pour redémarrer un conteneur.

$ docker restart myapp2
myapp2
$

Tout comme le processus, nous pouvons également tuer un conteneur, utilisez la commande ci-dessous pour tuer un conteneur.

[email protected]:~$ docker kill myapp2
myapp2
[email protected]:~$

11) Supprimer un conteneur

Docker Container est supprimé ou supprimé à l'aide de la commande 'docker rm'. 'docker rm' ne fonctionnera que lorsque docker est arrêté / arrêté.

Syntaxe :

$ docker rm {container_name_OR_container_id}

$ docker stop test-app
test-app
$ docker rm test-app
test-app
$

Pour supprimer un conteneur en cours d'exécution avec force, utilisez l'option '-f' dans la commande docker rm. L'exemple est montré ci-dessous

$ docker rm -f nginx-app

12) Supprimer les images du conteneur Docker

Tout comme les conteneurs, nous pouvons également supprimer ou supprimer des images Docker. La commande 'docker rmi' est utilisée pour supprimer les images du conteneur docker.

Supposons que nous voulions supprimer une image docker "Ubuntu :20.04", exécutez

$ docker rmi ubuntu:20.04
Untagged: ubuntu:20.04
Untagged: [email protected]:669e010b58baf5beb2836b253c14f7c07a4dc93f474be
Deleted: sha256:54c9d81cbb440897908abdcaa98674db831e40a66f704f
Deleted: sha256:36ffdceb4c77bf34325fb695e64ea447f629593310578d2
$

Dans la commande ci-dessus, nous pouvons utiliser l'identifiant de l'image à la place du nom de l'image

$ docker rmi 54c9d81cbb44

13) Enregistrer et charger l'image du conteneur Docker

Pour enregistrer une image docker dans un fichier tar, utilisez la commande "docker save", l'exemple est illustré ci-dessous :

$ docker save nginx -o mynginx.tar
$ ls -l mynginx.tar
-rw------- 1 sysops sysops 145931776 Feb 5 10:30 mynginx.tar
$

Pour charger une image docker à partir d'un fichier tar, utilisez la commande "docker load"

$ docker load -i mynginx.tar
Loaded image: nginx:latest
$

Remarque :Ces commandes deviennent utiles lorsque nous souhaitons transférer une image Docker d'un hôte Docker à un autre.

14) Copier les fichiers/dossiers dans le conteneur

Nous pouvons copier des fichiers ou un dossier dans un conteneur à partir de l'hôte docker à l'aide de la commande "docker cp". Dans ce qui suit, nous copions le dossier "mycode" dans le conteneur myapp

$ docker cp mycode myapp:/tmp

15) Afficher l'historique d'une image Docker

L'historique de l'image Docker signifie ici quelles commandes sont exécutées lors de la création d'images Docker, nous pouvons afficher ces commandes à l'aide de "l'historique Docker"

Syntaxe :#

$ histoire docker {Image_Name_OR_Image_id}

$ docker history nginx

16) Afficher les journaux du conteneur

Nous pouvons afficher les journaux des conteneurs sans nous y connecter, exécutez la commande "docker logs"

Syntaxe :

$ docker logs {container_name_or_container_id}

$ docker logs myapp

Pour afficher les journaux en direct, utilisez l'option "-f" dans la commande docker logs

$ docker logs -f myapp

Pour afficher les 10 derniers journaux d'un conteneur, exécutez

$ docker logs --tail 10 myapp

17) Afficher les statistiques d'utilisation des ressources du ou des conteneurs

Pour afficher l'utilisation du processeur, de la mémoire et des E/S réseau de tous les conteneurs, exécutez la commande "docker stats"

$ docker stats

La commande ci-dessus affichera la diffusion en direct des statistiques d'utilisation des ressources de tous les conteneurs.

Pour afficher les statistiques d'un conteneur spécifique, exécutez les statistiques de docker suivies du conteneur

$ docker stats myapp

Statistiques d'utilisation des ressources sans diffusion en direct

$ docker stats --no-stream

Nous pouvons afficher les processus en cours d'exécution d'un conteneur avec 'docker top ‘ commande.

Syntaxe :#

menu fixe haut {Container_Name_OR_ID}

$ docker top myapp

18) Afficher l'adresse IP du conteneur

Les informations de bas niveau du conteneur sont affichées à l'aide de la commande "docker inspect". Nous pouvons récupérer l'adresse IP d'un conteneur à partir de la commande "docker inspect"

Syntaxe :

$ docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}'  

Exemple

$ docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' myapp
172.17.0.2
$

19) Créer une image de conteneur Docker

L'image du conteneur Docker est construite à l'aide de la commande "docker build", mais pour que la commande docker build soit d'abord créée, nous devons créer Dockerfile. Supposons que Dockerfile soit créé dans le dossier mycode, puis exécutez la commande suivante pour créer une image docker,

$ cd mycode
$ docker build -t mynginx:v2 .

Lire aussi  :Comment créer une image Docker avec Dockerfile (étape par étape)

20) Définir la balise sur l'image Docker

La commande 'docker tag' est utilisée pour définir une balise sur une image.

Syntaxe :

$ docker tag source_image{:tag}  target_image{:tag}

Supposons que je veuille définir la balise de l'image source 'mariadb:latest' comme 'mariadb:10.03'

$ docker tag mariadb:latest mariadb:10.03
$ docker images | grep -i mariadb
mariadb 10.03 45a5a43e143a 3 days ago 410MB
mariadb latest 45a5a43e143a 3 days ago 410MB
$

Si vous souhaitez télécharger l'image sur votre registre privé, vous marquez l'image de manière à ce qu'elle ait une URL de registre suivie du projet et de l'image.

$ docker tag mariadb:latest myregistry:5000/db/mariadb:10.03

Connectez-vous maintenant à votre registre privé à l'aide de la commande "docker login" et exécutez la commande docker push pour le télécharger.

$ docker push myregistry:5000/db/mariadb:10.03

C'est tout de cet article. J'espère que vous avez trouvé ces exemples instructifs. N'hésitez pas à partager vos questions et commentaires dans les sections de commentaires ci-dessous.

Lire aussi  :Comment créer et utiliser un réseau MacVLAN dans Docker


Docker
  1. 12 exemples de commandes Wget utiles sous Linux

  2. Exemples utiles de la commande Docker ps

  3. Exemples de commandes sa sous Linux

  4. ac Exemples de commandes sous Linux

  5. Exemples de commandes df sous Linux

9 Exemples de commandes tactiles utiles sous Linux

Commande pwd sous Linux avec des exemples utiles

Commande SS sous Linux avec des exemples utiles

11 Exemples de commandes de date Linux utiles

12 exemples de commandes de date Linux utiles

Exemples de commandes id sous Linux