wangsha.docker-generic-image
docker-generic-image
Rôle Ansible pour gérer et exécuter un conteneur Docker à partir de n'importe quelle image donnée.
Conditions requises
Ce rôle a été testé uniquement sur Ubuntu 14.04. Comme il utilise le module docker d'Ansible, vous devez vous assurer qu'une version récente de docker-py
et docker
est installée.
Exemples
Installez ce module depuis Ansible Galaxy dans le répertoire './roles' :
ansible-galaxy install wangsha.docker-generic-image -p ./roles
Utilisez-le dans un playbook comme suit, en supposant que vous avez déjà configuré Docker :
- hosts: 'serveurs'
roles:
- role: angstwad.docker_ubuntu
become: true
- role: wangsha.docker-generic-image
become: true
docker_container_name: hello-world
docker_container_image: hello-world
Consultez le fichier defaults/main.yml pour les variables de rôle qui peuvent être remplacées.
Si vous avez besoin d'un playbook pour configurer Docker lui-même, jetez un œil au rôle Galaxy angstwad.docker_ubuntu.
Mappages de volumes personnalisés
Docker permet de monter un répertoire ou un fichier hôte en tant que volume de données.
Ce rôle monte des répertoires hôtes pour persister les données des conteneurs et des fichiers hôtes pour configurer le comportement des conteneurs.
docker_generic-image_directory_volumes
et docker_generic-image_file_volumes
sont les deux variables pour contrôler les mappages de volumes.
Si vous souhaitez personnaliser le mappage, veuillez suivre le format <répertoire hôte>:<répertoire conteneur>:<mode de mappage>
pour garantir que les répertoires hôtes sont correctement créés avant de lancer les conteneurs.
Pour personnaliser les mappages de fichiers hôtes, mettez à jour docker_generic-image_file_volumes
.
Ce rôle créera automatiquement les répertoires parents des fichiers et copiera le modèle
vers la machine hôte. La convention de nommage pour le modèle est <nom_de_fichier_hôte>.<extension_de_fichier_hôte>.j2
.
Pour copier un modèle à partir de vos propres répertoires Ansible, définissez le docker_generic-image_template_path
.
Exemple de configuration :
docker_container_file_volumes:
- '/opt/myapp/conf/settings.conf:/etc/myapp/conf/settings.conf:ro'
docker_container_template_path: /chemin/vers/projet/ansible/templates/
# assurez-vous que le fichier /chemin/vers/projet/ansible/templates/settings.conf.j2 existe.
Références supplémentaires
Licence
Informations sur l'auteur
- wangsha