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. P>
Cependant, je suis capable d'utiliser Docker. J'ai écrit le dockerfile suivant pour avoir quelque chose à courir avec: p> et j'ai écrit le fichier docker-compose.yml suivant pour avoir un serveur dédié ansible et un "esclave" . p> 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 Connectez-vous à l'hôte 172.19.0.2 Port 22: Connexion refusée p>
BlockQuote> 172.19.0.2 Étant le port qu'il s'affiche lorsque je passe 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. P> Y a-t-il un moyen simple de le faire? Ou suis-je tout ce qui ne va pas? P> Merci d'avance p> p> id_rsa.pub code> dans l'esclave, je ne peux pas me connecter à celui-ci. Fondamentalement, il renvoie ce qui suit: p>
ifconfig code>. p>
3 Réponses :
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
L'architecture que vous concevez ne correspond pas vraiment à votre travail ansitaire ou docker. P>
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. p>
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. P>
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 code> Système pour créer des images Docker personnalisées ; Cela implique généralement une demi-douzaine de lignes de dockerfile code> pour installer un service et dire à Docker comment le démarrer. P>
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
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"
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 code> pour joindre à votre docker. Essayez
Docker Exec-Computer_Name code> 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 ...