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

Comment se connecter en SSH à un conteneur Docker et exécuter des commandes

Présentation

Docker est un ensemble de produits de plate-forme en tant que service (PaaS) qui utilisent la virtualisation au niveau du système d'exploitation pour fournir des logiciels dans des packages appelés conteneurs.

Docker est un utilitaire qui vous permet de créer un conteneur pour exécuter des applications. Un conteneur Docker est une machine virtuelle entièrement contenue.

Ce guide vous montrera trois méthodes pour vous connecter en SSH à un conteneur Docker et exécuter des commandes.

Méthode 1 :

  • Utiliser docker exec pour exécuter des commandes dans un conteneur Docker

Le docker exec La commande exécute une commande spécifiée dans un conteneur déjà en cours d'exécution.

Vous pouvez l'utiliser pour vous connecter en SSH à un conteneur Docker en créant un bash shell .

Syntaxe pour l'utilisation de docker exec

docker exec (options) (container) (The_command)
  • Extraire une image Docker si vous ne l'avez pas fait. vous pouvez charger apache par exemple :
sudo docker pull httpd
  • Ensuite, exécutez le conteneur avec
sudo docker run --name apache-test -d httpd
  • Répertorier tous les conteneurs en cours d'exécution pour vérifier si le conteneur est répertorié ou non
sudo docker ps
  • Pour y accéder et exécuter des commandes dans ce conteneur, exécutez
sudo docker exec -it apache-test /bin/bash

Le –je l'option spécifie interactif

Le –t permet une saisie de terminal interface.

Désormais, toutes les commandes que vous entrez s'exécuteront dans ce conteneur.

Méthode 2 :

  • Utilisez ledocker attach Commande pour se connecter à un En cours d'exécution Conteneur

Le attachement docker La commande lie une entrée, une sortie et un flux d'erreurs locaux à un conteneur.

  • Pour vous connecter à un conteneur en cours d'exécution, exécutez
sudo docker attach (The_container_Name)

Maintenant, nous allons nous connecter au apache-test conteneur avec la ligne de commande suivante.

sudo docker attach apache-test

Méthode 3 :

  • Nous utiliserons SSH se connecter à un conteneur Docker

Vous pouvez vous connecter à un conteneur Docker en utilisant SSH (Secure Shell).

  • Installer, démarrer et activer ssh

Sur CentOS :

dnf install -y openssh-server openssh-clients && systemctl start sshd && systemctl enable sshd 

Sur Ubuntu :

sudo apt-get install ssh && sudo systemctl start sshd && sudo systemctl enable sshd 
  • Obtenir l'adresse IP du conteneur Docker

Obtenez l'adresse IP du conteneur à l'aide de docker inspect commande et filtrer les résultats.

Pour les moteurs Docker modernes, exécutez

sudo docker inspect -f "{{ .NetworkSettings.IPAddress }}" (The_container_name)

Pour les moteurs Docker plus anciens, exécutez

[root@unixcop ~]# docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' (The_container_name)
172.17.0.1
[root@unixcop ~]# 
  • SSH dans Docker Container en utilisant la commande SSH pour se connecter au conteneur
ssh [email protected]

Le système devrait demander un mot de passe à l'utilisateur root pour ce conteneur

Maintenant, vous pouvez exécuter des commandes dans le conteneur.

Conclusion

Alors, c'est tout

Dans ce didacticiel, nous vous montrons comment vous connecter en SSH à un conteneur Docker en cours d'exécution et exécuter des commandes via trois méthodes.

Merci


Docker
  1. Comment installer et configurer Docker Container sur Rocky Linux 8

  2. Comment exécuter MySQL dans un conteneur Docker

  3. Comment monter un répertoire hôte dans un conteneur Docker

  4. Comment exécuter une commande sur un conteneur Docker en cours d'exécution

  5. Comment installer, exécuter et supprimer des applications dans les conteneurs Docker - Partie 2

Comment exécuter PHPMyAdmin dans un conteneur Docker

Comment exécuter Grafana dans un conteneur Docker

Comment déployer et gérer un conteneur Docker MongoDB

Comment se connecter en SSH aux conteneurs Docker [étape par étape]

Comment exécuter des conteneurs Docker

Comment se connecter en SSH à un conteneur Docker