turkenh.provision_docker

Build-Status

provision_docker

Eine Ansible-Rolle, die verwendet wird, um Docker-Container für jeden Inventar-Host zu erstellen und zu starten, der in einem Play verwendet wird. Nützlich für Tests.

Blog-Beitrag darüber, wie man provision_docker verwendet, um Rollen zu testen.

Empfohlene Docker-Images:

chrismeyers/centos6
chrismeyers/centos7
chrismeyers/ubuntu12.04
ubuntu-upstart:14.04

Hinweis: Die oben aufgeführten Images Dockerfiles sind so konzipiert, dass sie Init-Systeme und OpenSSH ausführen.

Beispiel-Playbook

Testen mit Travis-CI

Schauen Sie sich .travis.yml an, um zu sehen, wie Sie Ihre Rolle mit Travis-CI testen können.

Mac OS X + docker-machine + VirtualBox

provision_docker ist abhängig von der SSH-Verbindung zu Containern. Daher muss die IP des Containers erreichbar sein (eine Route muss existieren). Wenn Sie Docker Toolbox auf OS X verwenden, werden die VirtualBox-Container nicht an den Host weitergeleitet. Führen Sie die folgenden Befehle aus, um eine Route zu den Containern in der Gast-VM hinzuzufügen.

/usr/sbin/scutil -w State:/Network/Interface/vboxnet0/IPv4 -t 0
sudo /sbin/route -n add -net 172.17.0.0 -netmask 255.255.0.0 -gateway $(docker-machine ip)

Die Route bleibt nach Neustarts nicht bestehen. Um die Änderungen beizubehalten, bearbeiten Sie /Library/LaunchDaemons/com.docker.route.plist

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE plist PUBLIC '-//Apple//DTD PLIST 1.0//EN' 'http://www.apple.com/DTDs/PropertyList-1.0.dtd'>
<plist version='1.0'>
<dict>
  <key>Label</key>
  <string>com.docker.route</string>
  <key>ProgramArguments</key>
  <array>
    <string>bash</string>
    <string>-c</string>
    <!-- Passen Sie vboxnet0 an die Schnittstelle an, die zu Ihrem Setup passt. Verwenden Sie ifconfig, um sie zu finden -->
    <string>/usr/sbin/scutil -w State:/Network/Interface/vboxnet0/IPv4 -t 0;sudo /sbin/route -n add -net 172.17.0.0 -netmask 255.255.0.0 -gateway 192.168.99.100</string>
  </array>
  <key>KeepAlive</key>
  <false/>
  <key>RunAtLoad</key>
  <true/>
  <key>LaunchOnlyOnce</key>
  <true/>
</dict>
</plist>

Mac OS X + docker-machine + VMware Fusion

sudo /sbin/route -n add -net 172.17.0.0 -netmask 255.255.0.0 -gateway $(docker-machine ip default)

Ähnliche Arbeiten

Über das Projekt

Provision docker containers using inventory.

Installieren
ansible-galaxy install turkenh.provision_docker
GitHub Repository
Lizenz
Unknown
Downloads
79
Besitzer