Comment se connecter à Docker Container via SSH

Comment se connecter à Docker Container via SSH

Après avoir installé Docker sur Fedora, Almalinux, Manjaro ou une autre distribution, il est temps d'installer plus de conteneurs. Une fois que vous avez un conteneur Docker opérationnel sur un système Linux, l'une des choses que vous devrez probablement faire est d'exécuter des commandes à l'intérieur du conteneur. Cela vous permet d'utiliser le conteneur de manière similaire à la façon dont vous feriez une machine physique, sauf que Docker a déjà fait la plupart des jambes de configuration pour nous.

Il existe déjà deux commandes disponibles qui nous permettent d'exécuter des commandes sur un conteneur Docker. Le premier est docker, et la deuxième commande, qui nous permet de se fixer à un conteneur en cours d'exécution, est attaché docker. Ces commandes suffisent généralement, mais vous pouvez vous retrouver dans un scénario où vous préférez utiliser SSH pour vous connecter au conteneur Docker et le gérer.

Tous les conteneurs Docker ne sont pas fournis pour exécuter SSH. Normalement, les conteneurs Docker sont très légers et seulement programmés pour faire une chose. Cependant, certains conteneurs Docker permettront à SSH, ce qui peut faciliter la gestion du conteneur. Dans ce guide, nous verrons comment nous connecter à un conteneur Docker via SSH à partir du système hôte sur la ligne de commande Linux.

Dans ce tutoriel, vous apprendrez:

  • Comment se connecter à un conteneur Docker en cours d'exécution via SSH
Connexion à un conteneur Docker en cours d'exécution via SSH sur Linux Exigences logicielles et conventions de ligne de commande Linux
Catégorie Exigences, conventions ou version logicielle utilisée
Système Toute distribution Linux
Logiciel Docker
Autre Accès privilégié à votre système Linux en tant que racine ou via le Sudo commande.
Conventions # - Exige que les commandes Linux soient exécutées avec des privilèges racine soit directement en tant qu'utilisateur racine, soit par l'utilisation de Sudo commande
$ - Exige que les commandes Linux soient exécutées en tant qu'utilisateur non privilégié régulier

Connectez-vous à Docker Container via SSH



Pour cet exemple, nous avons déjà installé Docker et une image Nginx en utilisant le docker pull nginx commande. Suivez les instructions étape par étape ci-dessous pour voir comment nous déterminons l'adresse IP du conteneur, puis utilisez la commande ssh pour se connecter au conteneur en cours d'exécution.

  1. Premièrement, le conteneur Docker doit fonctionner activement. Assurez-vous que vous l'avez déjà commencé en utilisant la commande suivante. Notez à nouveau que nous utilisons une image Nginx, mais vous pouvez remplacer le nom de votre propre image dans cette commande et les commandes futures.
    $ docker run --name nginx -d nginx 
  2. Vérifiez que votre conteneur est en cours d'exécution, ainsi que le nom de votre conteneur, avec cette commande.
    $ docker ps 
  3. Affichage des conteneurs Docker en cours d'exécution sur notre système
  4. Nous pouvons maintenant utiliser la commande suivante pour déterminer l'adresse IP de notre conteneur Nginx.
    $ docker inspect -f " .Paramètres réseau.IPaddress "nginx 


  5. Ici, nous déterminons l'adresse IP du conteneur Docker dans lequel nous voulons SSH
  6. Dans notre cas, le conteneur Nginx a une adresse IP de 172.17.0.2. Nous pouvons maintenant tenter de nous connecter à cette adresse IP via SSH et le compte racine.
    $ root ssh @ 172.17.0.2 

    À ce stade, vous vous connecrez avec succès au conteneur en cours d'exécution, soit obtiendrez une erreur de «connexion refusée». Dans le cas d'une erreur, procédez aux étapes suivantes pour configurer un serveur SSH sur le conteneur.

  7. Si SSH ne fonctionne pas, nous devons nous assurer que le logiciel est installé sur le conteneur. Connectez-vous au conteneur avec la commande suivante.
    $ docker exec -it nginx / bin / bash 
  8. Ensuite, installez SSH dessus. Nous utilisons apte Gestionnaire de packages dans cet exemple, mais vous devrez peut-être adapter la commande si votre conteneur utilise un autre gestionnaire de packages.
    # APT Update && apt -y install openssh-server 
  9. Ensuite, configurez le conteneur afin que nous puissions nous connecter au compte racine via SSH.
    # echo "permutrootlogin oui" >> / etc / ssh / sshd_config 
  10. N'oubliez pas de changer le mot de passe racine pour que vous puissiez vous connecter.
    # passwd 
  11. Enfin, démarrez le service SSH sur le conteneur.
    # / etc / init.D / ssh start 
  12. Vous pourrez maintenant SSH à partir de la machine hôte en spécifiant l'adresse IP que vous avez déterminée plus tôt et en utilisant le mot de passe racine que vous venez de configurer le mot de passe pour.
    $ root ssh @ 172.17.0.2 


  13. Nous pouvons maintenant réussir SSH dans le conteneur Docker

C'est tout ce qu'on peut en dire. Vous pouvez maintenant vous connecter à votre conteneur en cours d'exécution via SSH pour exécuter les commandes et la gérer. Bien sûr, la méthode d'utilisation docker La commande doit continuer à fonctionner également et peut accomplir la même chose.

Réflexions de clôture

Dans ce guide, nous avons vu comment se connecter à un conteneur Docker en cours d'exécution à partir du système hôte via SSH. Docker nous donne déjà plusieurs façons de nous connecter à un conteneur, mais avoir la possibilité de SSH dans les conteneurs peut être agréable pour certaines situations. La partie délicate est que la plupart des conteneurs n'ont pas déjà installé SSH, car ils sont normalement configurés avec les exigences minimales nues. Cela nécessite quelques étapes supplémentaires de notre part, mais comme vous l'avez vu ici, ce n'est pas si difficile à faire.

Tutoriels Linux connexes:

  • Installation de Manjaro Linux
  • Guide du débutant de Manjaro Linux
  • Manjaro Linux Windows 10 Double démarrage
  • Comment migrer de Centos à Almaliux
  • Installez Manjaro dans VirtualBox
  • Installation d'Almalinux
  • Comment configurer le serveur et le client FTP / SFTP sur Almalinux
  • Choses à installer sur Ubuntu 20.04
  • Installez l'édition de Manjaro Architect
  • Créer USB Bootable Manjaro Linux