turkenh.provision_docker

Status budowy

provision_docker

Rola Ansible używana do tworzenia i uruchamiania kontenerów docker dla każdego hosta w inwentarzu używanego w zadaniu. Przydatna do testowania.

Post na blogu na temat korzystania z provision_docker do testowania ról.

Zalecane obrazy dockera:

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

Uwaga: Wymienione powyżej obrazy Dockerfiles są zaprojektowane do uruchamiania systemów inicjalizacji i openssh.

Przykładowy Playbook

Testowanie z Travis-CI

Sprawdź .travis.yml, aby zobaczyć, jak testować swoją rolę za pomocą travis-ci.

Mac OS X + docker-machine + VirtualBox

provision_docker opiera się na możliwości połączenia ssh z kontenerami. Zatem, adres IP kontenera musi być dostępny (musi istnieć trasa). Jeśli korzystasz z docker toolbox na OS X + VirtualBox, kontenery nie są routowane do hosta. Wykonaj poniższe polecenia, aby dodać trasę do kontenerów w gościnnej VM.

/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)

Trasa nie jest trwała po restarcie. Aby utrwalić zmiany, edytuj /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>
    <!-- Musisz dostosować vboxnet0 do interfejsu, który pasuje do twojej konfiguracji, użyj ifconfig, aby go znaleźć -->
    <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)

Podobne projekty

O projekcie

Provision docker containers using inventory.

Zainstaluj
ansible-galaxy install turkenh.provision_docker
Licencja
Unknown
Pobrania
79
Właściciel