2017-05-05 1 views
0

Ich möchte Docker-Container mit Ansible automatisiert erstellen und bearbeiten und habe ein Verbindungs-Plugin im ansible GitHub-Repository gefunden, das docker exec anstelle von ssh verwendet, um Befehle usw. im Container auszuführen. Ich kann keine Dokumentation über dieses Plugin finden und kann nicht genau herausfinden, wie man es benutzt?Wie benutze ich das Andock-Verbindungs-Plugin von ansible?

danke im voraus.

Antwort

0

Es ist einfach: connection: docker festlegen und Container-Namen als Inventar-Hosts verwenden.

Beispiel:

# docker run -d --name=mycontainer -e FOO=bar alpine:latest sleep 600 
fde1a28914174c53e8f186f2b8ea312c0bda9c895fc6c956f3f1315788f0bf20 
# ansible all -i 'mycontainer,' -c docker -m raw -a 'echo $FOO' 
mycontainer | SUCCESS | rc=0 >> 
bar 

Nur im Kopf behalten, dass die meisten ansible Module Python benötigen, aber in der Regel haben Sie eine minimale Menge an Bibliotheken in Ihrem Container und Python ist nicht unter ihnen.

+0

danke. ist es möglich, durch ssh zu einem anderen Computer zu verbinden, der Docker läuft oder funktioniert Docker-Verbindung nur lokal auf dem Computer, der ansible installiert hat? – Thorbijoern

+0

Das AFAIK-Docker-Verbindungs-Plugin wurde entwickelt, um nur mit dem lokalen Docker-Daemon zu funktionieren. Sie können versuchen, mit [DOCKER_HOST] (https://docs.docker.com/engine/reference/commandline/cli/#environment-variables) env -Variable zu spielen, um Ansible mit dem Remote-Docker-Host zu überlisten. Aber ich kann mir keine Möglichkeit vorstellen, dieses Plugin durch den SSH-Tunnel zu verbinden. –