-1
votes

Comment puis-je me connecter à une image Docker via SSH à partir d'une autre image Docker?

Disclaimer: Cela pourrait être une question noob. Si oui, j'ai abondamment aplogé, ce n'est pas mon objectif du tout.

Je suis vraiment nouveau à ansile, mais même si cela n'est pas (encore) le problème, j'ai un problème avec ma propre configuration. TL; DR: Je n'ai pas d'autre choix que d'utiliser des fenêtres dans ma situation.

Cependant, je suis capable d'utiliser Docker. J'ai écrit le dockerfile suivant pour avoir quelque chose à courir avec: xxx

et j'ai écrit le fichier docker-compose.yml suivant pour avoir un serveur dédié ansible et un "esclave" . xxx

suivant Ce tutoriel (en français), ils disent que je dois me connecter avec SSH sur le serveur esclave à partir du serveur "Ansible". Cependant, même après avoir mis mon id_rsa.pub dans l'esclave, je ne peux pas me connecter à celui-ci. Fondamentalement, il renvoie ce qui suit:

Connectez-vous à l'hôte 172.19.0.2 Port 22: Connexion refusée

172.19.0.2 Étant le port qu'il s'affiche lorsque je passe ifconfig .

donc je ne sais pas vraiment ce que je devrais faire ici. J'ai vu des liens sur les problèmes SSH avec Docker Online avant de demander ici, mais je ne sais pas si mon problème est lié à cela.

Y a-t-il un moyen simple de le faire? Ou suis-je tout ce qui ne va pas?

Merci d'avance


3 commentaires

Je ne sais pas exactement ce qui est indestible. Mais l'idée de Ssh-ing dans un conteneur ne semble pas légitime! Vous pouvez essayer d'utiliser le drapeau -it pour joindre à votre docker. Essayez Docker Exec-Computer_Name de votre hôte. Ou si vous souhaitez avoir quelque chose d'accessible sur les deux (partager des données), utilisez une solution de stockage, comme des volumes.


Je connais les bases du docker, mais je suis totalement perdue avec une diable, et il semble que j'ai rencontré le pire tutoriel pour commencer dans mon cas


Vérifiez ici: dockermastery.slack.com Ils peuvent résoudre votre problème ...


3 Réponses :


1
votes

Avez-vous un serveur SSH ouvert?

- name: 2.Install Open ssh
  apt: name=openssh-server

- name: 8.Update firewall
  become: true
  command: ufw allow from any to any port 22 proto tcp


0 commentaires

2
votes

L'architecture que vous concevez ne correspond pas vraiment à votre travail ansitaire ou docker.

Ansible n'a pas d'architecture client / serveur: Vous n'avez pas besoin d'installer un conteneur "Master Ansible Server", il vous suffit de vous connecter à l'hôte que vous essayez de gérer avec SSH.

Les conteneurs Docker exécutent rarement des démons SSH. Ils emballent généralement un serveur unique. Un conteneur pourrait fonctionner, dire, un serveur Apache et absolument rien d'autre. Cela les rend difficiles à gérer à l'aide d'un ansible.

Je suggérerais d'installer directement votre hôte directement, éventuellement emballé dans un environnement virtuel Python. (Cela empêche des problèmes difficiles avec le partage des informations d'identification telles que les clés SSH avec le conteneur, et cela signifie que vous n'avez pas besoin d'autorisations de racine pour exécuter l'outil.) Pour gérer les conteneurs Docker, je recommanderais de lire sur Le système Système pour créer des images Docker personnalisées ; Cela implique généralement une demi-douzaine de lignes de dockerfile pour installer un service et dire à Docker comment le démarrer.


1 commentaires

Je suppose que vous avez raison, je pense que je viens de me perdre à cause du fait que je dois utiliser Windows. Maintenant que je suis de retour à la maison avec un bon vieux Ubuntu, je vais redémarrer de zéro



1
votes

Je l'ai enfin fait!

Vous pouvez utiliser le lien Docker-Compose. AAAANT, vous devez installer OpenSSH-Server et allumez-le. P>

SO, P>

Votre DockerFile doit être comme P>

version: '3.5'

services:
  ansible:
    build: .
    links:
      - slave:slave
    volumes:
      - /path/to/your/id-rsa:/home/root/.ssh/id-rsa
    ports:
      - "80:80"

  slave:
    build: .
    volumes:
      - /path/to/your/id-rsa.pub:/home/root/.ssh/id-rsa.pub
    ports:
      - "81:80"
      - "22:22"


0 commentaires