Maison > Opération et maintenance > Docker > Quels sont les moyens d'accéder au conteneur Docker ?

Quels sont les moyens d'accéder au conteneur Docker ?

王林
Libérer: 2020-11-16 16:28:20
avant
3726 Les gens l'ont consulté

Quels sont les moyens d'accéder au conteneur Docker ?

Il existe de nombreuses façons d'entrer dans un conteneur Docker. Nous nous concentrerons ici sur plusieurs méthodes couramment utilisées pour entrer dans un conteneur Docker.

(Partage vidéo d'apprentissage : Tutoriel vidéo php)

Les façons les plus courantes d'accéder à un conteneur Docker sont les suivantes :

  • Utilisez docker attach

  • Utilisez SSH

  • Utilisez nsenter

  • Utilisez exec

1. Utilisez docker attach pour entrer dans le conteneur Docker

Docker fournit la commande attach pour entrer dans le conteneur Docker.

Ensuite, nous créons un conteneur Docker démon, puis utilisons la commande docker attach pour entrer dans le conteneur.

$ sudo docker run -itd ubuntu:14.04 /bin/bash
Copier après la connexion

Ensuite, nous utilisons docker ps pour afficher les informations sur le conteneur, puis utilisons docker attach pour entrer dans le conteneur

$ sudo docker attach 44fc0f0582d9
Copier après la connexion

Vous pouvez voir que nous sommes entrés dans le conteneur.

Mais il y a un problème avec l'utilisation de cette commande. Lorsque plusieurs fenêtres utilisent cette commande pour entrer dans le conteneur en même temps, toutes les fenêtres seront affichées simultanément. Si une fenêtre est bloquée, les autres fenêtres ne pourront plus fonctionner.

Pour cette raison, la commande docker attach n'est pas adaptée aux environnements de production. Vous pouvez utiliser cette commande lors du développement de vos propres applications.

2. Utilisez SSH pour entrer dans le conteneur Docker

Après avoir exclu l'utilisation de la commande docker attach pour entrer dans le conteneur dans l'environnement de production, je pense que la première chose à laquelle tout le monde pense est ssh. Installez le serveur SSH dans l'image (ou le conteneur), afin que plusieurs personnes puissent entrer dans le conteneur sans interférer les unes avec les autres. Je pense que tout le monde le fait dans l'environnement de production actuel (sans utiliser Docker). Cependant, il n'est pas recommandé d'utiliser ssh pour accéder au conteneur Docker après l'avoir utilisé.

3. Utilisez nsenter pour entrer dans le conteneur Docker

Lorsque les deux méthodes ci-dessus ne conviennent pas, il existe une méthode plus pratique, qui consiste à utiliser nsenter pour entrer dans le conteneur Docker.

Après avoir compris ce qu'est nsenter, le système installera par défaut le nsenter dont nous avons besoin dans l'hôte

S'il n'est pas installé, suivez simplement les étapes ci-dessous pour l'installer (notez qu'il est l'hôte et non le conteneur ou Mirror)

La commande d'installation spécifique est la suivante :

$ wget https://www.kernel.org/pub/linux/utils/util-linux/v2.24/util-linux-2.24.tar.gz  
$ tar -xzvf util-linux-2.24.tar.gz  
$ cd util-linux-2.24/  
$ ./configure --without-ncurses  
$ make nsenter  
$ sudo cp nsenter /usr/local/bin
Copier après la connexion

Après avoir installé nsenter, vous pouvez vérifier l'utilisation de cette commande.

Quels sont les moyens daccéder au conteneur Docker ?

nsenter peut accéder à l'espace de noms d'un autre processus. Ainsi, pour nous connecter à un conteneur, nous devons également obtenir le PID du premier processus du conteneur. Vous pouvez utiliser la commande docker inspect pour obtenir le PID. La commande

docker inspect est utilisée comme suit :

$ sudo docker inspect --help
Copier après la connexion

La commande inspect peut afficher des informations sur une image ou un conteneur de manière hiérarchique. Par exemple, nous avons actuellement un conteneur en cours d’exécution.

Quels sont les moyens daccéder au conteneur Docker ?

Vous pouvez utiliser docker inspect pour afficher les détails du conteneur.

$ sudo docker inspect 44fc0f0582d9
Copier après la connexion

Quels sont les moyens daccéder au conteneur Docker ?

Comme il y a beaucoup d'informations, seule une partie d'entre elles est capturée ici pour être affichée. Si vous souhaitez afficher le PID du premier processus du conteneur, vous pouvez utiliser la méthode suivante

$ sudo docker inspect -f {{.State.Pid}} 44fc0f0582d9
Copier après la connexion

Quels sont les moyens daccéder au conteneur Docker ?

Après avoir obtenu le PID du processus, nous pouvons utiliser le nsenter commande pour accéder au conteneur.

$ sudo nsenter --target 3326 --mount --uts --ipc --net --pid  
$ sudo nsenter --target 3326 --mount --uts --ipc --net --pid
Copier après la connexion

Le 3326 est le PID du procédé qui vient d'être obtenu.

4. Utilisez docker exec pour entrer dans le conteneur Docker

En plus des méthodes ci-dessus, docker fournit également une nouvelle commande exec après la version 1.3.X pour entrer dans le conteneur. relativement plus simple. Jetons un coup d'œil à l'utilisation de cette commande :

$ sudo docker exec --help
Copier après la connexion

Quels sont les moyens daccéder au conteneur Docker ?

Ensuite, nous utilisons cette commande pour entrer dans un conteneur déjà en cours d'exécution

$ sudo docker ps  
$ sudo docker exec -it 775c7c9ee1e1 /bin/bash
Copier après la connexion

Recommandations associées. : Tutoriel Docker

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:csdn.net
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal