turkenh.provision_docker

Statut de Build

provision_docker

Un rôle Ansible utilisé pour créer et démarrer des conteneurs Docker pour chaque hôte d'inventaire utilisé dans une tâche. Utile pour les tests.

Article de blog sur comment utiliser provision_docker pour tester des rôles.

Images Docker recommandées.

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

Remarque : Les images listées ci-dessus Dockerfiles sont conçues pour exécuter des systèmes d'initialisation et OpenSSH.

Exemple de Playbook

Tests avec Travis-CI

Consultez .travis.yml pour voir comment tester votre rôle en utilisant travis-ci.

Mac OS X + docker-machine + VirtualBox

provision_docker nécessite de pouvoir se connecter en SSH aux conteneurs. Par conséquent, l'IP du conteneur doit être accessible (une route doit exister). Si vous utilisez Docker Toolbox sur OS X + VirtualBox, les conteneurs ne sont pas routés vers l'hôte. Exécutez les commandes ci-dessous pour ajouter une route vers les conteneurs dans la VM invité.

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

La route ne persiste pas après un redémarrage. Pour que les modifications persistent, éditez /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>
    <!-- Vous devez adapter vboxnet0 à l'interface qui convient à votre configuration, utilisez ifconfig pour le trouver -->
    <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)

Travaux Similaires

À propos du projet

Provision docker containers using inventory.

Installer
ansible-galaxy install turkenh.provision_docker
Licence
Unknown
Téléchargements
79
Propriétaire