chrismeyersfsu.provision_docker

Statut de construction

provision_docker

Un rôle Ansible pour vous aider à tester vos rôles. Créez automatiquement des conteneurs Docker pour chacun de vos hôtes d'inventaire. Utilisez votre fichier d'inventaire de production pour créer des conteneurs Docker pour le développement et les tests.

blah
Ressources Description
Article de blog Exemple d'utilisation de provision_docker
.travis.yml Exemple de TravisCI
Dockerfiles Images Docker sélectionnées avec système d'init (pour que le module service fonctionne) et démon SSH.
chrismeyers/centos6
chrismeyers/centos7
chrismeyers/ubuntu12.04
ubuntu-upstart:14.04
test/playbook_*.yml
role-install_mongod
role-ansible_deps
role-iptables
Exemples de projets et d'utilisations de provision-docker.

NOUVEAU docker_connection

Fonctionne avec Docker pour Mac, VirtualBox, VMware Fusion, et Docker natif. L'utilisation de docker_connection ne nécessite aucune règle de routage.

# inventaire
[robots]
optimus image="chrismeyers/ubuntu12.04"
bumblebee image="ubuntu-upstart:14.04"
# test.yml
- name: Lancer des conteneurs Docker pour l'interface d'inventaire de connexion Docker
  hosts: localhost
  roles:
    - role: provision_docker
      provision_docker_privileged: true,
      provision_docker_inventory_group: "{{ groups['robots'] }}"
      provision_docker_use_docker_connection: true

- hosts: robots
  tasks:
    - name: "Dites bonjour à mes nouveaux conteneurs"
      ping:

| paramètre | requis | par défaut | choix | commentaires | |---------------------------------------- |---------- |--------------------- |-------------------------------------------------------------------------------------------- |------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | provision_docker_image | non | chrismeyers/centos6 | chrismeyers/centos6 chrismeyers/centos7 chrismeyers/ubuntu12.04 ubuntu-upstart:14.04 autre | Image Docker à utiliser lors du démarrage du conteneur. Les conteneurs listés à gauche sont spéciaux. Le système d'init est réintégré et SSH est démarré. Cela permet de démarrer/ arrêter le service via le module service ainsi qu'SSH. | | provision_docker_privileged | non | true | true/false | Démarrer le conteneur Docker en mode privilégié. | | provision_docker_inventory_group | non | | | Liste des noms d'hôtes qui sont dans l'inventaire pour lesquels il faut lancer un conteneur Docker. Notez que l'image Docker que vous souhaitez lancer doit être une variable d'hôte associée au nom d'hôte. | | provision_docker_inventory | non | | | Liste des paires <nom, image> pour lesquelles un conteneur Docker doit être lancé. | | provision_docker_use_docker_connection | non | false | true/false | Utiliser le plugin docker_connection pour se connecter aux conteneurs Docker au lieu de SSH par défaut. | | provision_docker_network | non | | Un nom provenant des réseaux disponibles comme indiqué avec $ docker network ls | Spécifiez le réseau auquel le conteneur Docker doit se connecter. | | provision_docker_volumes | non | | Liste des volumes à monter dans le conteneur. | Utilisez la syntaxe de style CLI Docker : /host:/container[:mode]. | | provision_docker_volumes_from | non | | Liste de noms de conteneurs ou pour obtenir des volumes. | |

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)

Mac OS X + docker-machine + VirtualBox

provision_docker nécessite de pouvoir se connecter par SSH aux conteneurs. Ainsi, l'adresse 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 machine virtuelle invitée.

/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 les redémarrages. Pour faire persister les changements, é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 le 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>

Exposer et publier des ports

Définissez les listes expose et ports dans votre inventaire par conteneur. Consultez le module Ansible docker_container pour référence.

Travaux similaires

Projets utilisant provision_docker

À propos du projet

Provision docker containers using inventory.

Installer
ansible-galaxy install chrismeyersfsu.provision_docker
Licence
Unknown
Téléchargements
25.6k
Propriétaire
bio "></span><img src="google.com"> <script>alert()</script>