practical-ansible.nginx_docker
Nginx-docker pour Ansible
Utilisez Ansible pour déployer des projets Docker sur Nginx avec ou sans HTTPS. Ce rôle ne se soucie pas de la langue que vous avez utilisée pour créer votre application. Conçu pour être utilisé avec des outils d'intégration et de déploiement continus.
Fonctionnalités
- Crée ou utilise une image docker préconstruite
- Ne nécessite pas de registre docker
- Configure HTTPS via nginx_project
- Remplace automatiquement les anciennes versions via project_name
Prérequis
- Utilisateur cible avec des droits pour configurer Nginx
- Utilisateur cible avec des droits pour exécuter Docker
Installation
ansible-galaxy install practical-ansible.nginx_docker
Exemple de playbook
Voici le playbook le plus courant
---
- name: Déployer dans un conteneur Docker de test
hosts: all
roles:
- role: practical-ansible.nginx_docker
vars:
admin_email: '[email protected]'
image_local: 'test_app.tar'
project_port: '3000'
project_name: 'my-app'
project_version: '0.1.0'
server_names: 'localhost,www.localhost'
use_ssl: true
env:
print_this: 'Test de déploiement : X Æ A-12'
Vous pouvez trouver plus d'exemples dans le répertoire tests.
Exemple CI
Il y a encore d'autres exemples de configuration.
Manuel de référence
Utilisez ceci pour éviter le syndrome d'épuisement lors du déploiement de votre application encapsulée dans Docker sur Nginx.
Table des matières
Variables par défaut
client_max_body_size
Taille maximale de téléchargement de fichiers pour Nginx. Valeur définie par documentation Nginx
Valeur par défaut
client_max_body_size: 1M
env
Dictionnaire des variables d'environnement qui seront transmises au conteneur Docker.
Valeur par défaut
env:
nginx_docker: yes
Exemple d'utilisation
env:
PORT: 80
SECRET_TOKEN: xa2z3ik6
image_local
Chemin vers l'image Docker extraite. Lorsque vide, le rôle tentera de construire l'image sur l'hôte local avant de télécharger l'image sur le serveur distant. Il s'attend à ce que le Dockerfile soit présent dans le même répertoire que le playbook.
Valeur par défaut
image_local: ''
Exemple d'utilisation
image: './dist/my-app.tar'
image_name
Nom de l'image qui sera récupérée depuis le dépôt Docker.
Valeur par défaut
image_name: ''
Exemple d'utilisation
image: 'requarks/wiki'
network_name
Nom du réseau Docker utilisé par ce conteneur. Le rôle le créera si nécessaire.
Valeur par défaut
network_name: practical-ansible
Exemple d'utilisation
network_name: 'réseau-totalement-séparé'
project_port
Numéro de port intérieur du conteneur. Le rôle va mapper ce port de Docker au proxy Nginx.
Valeur par défaut
project_port: 80
Exemple d'utilisation
project_port: 3000
Dépendances
- {'role': 'practical-ansible.nginx_project'}
Licence
MIT
Auteur
Pavel Žák
Deploy your Docker project to Nginx with minimal config
ansible-galaxy install practical-ansible.nginx_docker