honomoa.docker_deployment
Ansible Rôle : docker_deployment
Déployez vos images Docker.
Variables du Rôle
registry_type: aws-ecr
Type de registre.
Valeurs possibles :
- aws-ecr
- auto-hébergé (comme un registre Docker Nexus ou le registre officiel Docker)
- archive-tar (fichier tar d'une sauvegarde Docker)
dockerhub(auto-hébergé), vous pouvez définir registry_url surregistry.hub.docker.com
et définir l'équipe surlibrary
si l'image est officiellement supportée.
registry_region: us-west-1
Région de AWS ECR, seulement nécessaire si registry_type=aws-ecr
aws_access_key_id: "{{ lookup('env', 'AWS_ACCESS_KEY_ID') }}"
Identifiant de la clé d'accès AWS IAM, veuillez définir une variable d'environnement AWS_ACCESS_KEY_ID
, seulement nécessaire si registry_type=aws-ecr
aws_secret_access_key: "{{ lookup('env', 'AWS_SECRET_ACCESS_KEY') }}"
Clé d'accès secrète AWS IAM, veuillez définir une variable d'environnement AWS_SECRET_ACCESS_KEY
, seulement nécessaire si registry_type=aws-ecr
registry_username: "{{ lookup('env', 'REGISTRY_USERNAME') }}"
Nom d'utilisateur du registre, veuillez définir une variable d'environnement REGISTRY_USERNAME
, seulement nécessaire si registry_type=auto-hébergé
registry_password: "{{ lookup('env', 'REGISTRY_PASSWORD') }}"
Mot de passe du registre, veuillez définir une variable d'environnement REGISTRY_PASSWORD
, seulement nécessaire si registry_type=auto-hébergé
archive_username: "{{ lookup('env', 'ARCHIVE_USERNAME') }}"
Nom d'utilisateur de l'URL d'archive, veuillez définir une variable d'environnement ARCHIVE_USERNAME
, seulement nécessaire si registry_type=archive-tar
archive_password: "{{ lookup('env', 'ARCHIVE_PASSWORD') }}"
Mot de passe de l'URL d'archive, veuillez définir une variable d'environnement ARCHIVE_PASSWORD
, seulement nécessaire si registry_type=archive-tar
archive_url: "{{ lookup('env', 'ARCHIVE_URL') }}"
URL du serveur d'archive, sans le nom du fichier tar.gz, veuillez définir une variable d'environnement ARCHIVE_URL
, seulement nécessaire si registry_type=archive-tar
registry_scheme: https
Type de schéma du registre.
Valeurs possibles :
- https (par défaut)
- http
registry_url: dockerhub.com
URL du registre Docker.
image_team: moa
Nom de l'équipe propriétaire de l'image.
image_project: caddy
Nom du projet de l'image.
image_tag: latest
Tag de l'image à déployer.
container_name: caddy-server-1
Nom du conteneur.
container_ports: []
Ports à exposer.
container_restart_policy: always
Politique de redémarrage du conteneur.
container_environment: {}
Environnement du conteneur, dictionnaire de paires clé-valeur.
container_env_file: ''
Chemin vers un fichier, présent sur la cible, contenant des variables d'environnement FOO=BAR.
container_volumes: []
Volumes montés du conteneur.
container_extra_hosts:
Ajouter des correspondances d'hôte. Utilisez les mêmes valeurs que le paramètre --add-host du client Docker.
container_command: ''
Commande à exécuter.
Voir : https://docs.docker.com/compose/compose-file/#command
container_privileged: no
Donner des privilèges étendus à ce conteneur.
container_dns_servers: []
Liste des serveurs DNS personnalisés.
container_dns_search_domains: []
Liste des domaines de recherche DNS personnalisés.
container_network_mode: ''
Connectez le conteneur à un réseau. Les choix sont "bridge", "host", "none" ou "container:<name|id>".
container_capabilities: []
Liste des capacités à ajouter au conteneur.
container_log_driver: json-file
Le conteneur peut avoir un pilote de journalisation différent de celui du démon Docker. Les choix sont "none", "json-file", "syslog", "journald", "gelf", "fluentd", "awslogs", "splunk".
container_log_options:
Exemple de Playbook
- hosts: server
vars:
registry_url: dockerhub.com
image_team: moa
image_project: caddy
image_tag: latest
container_name: caddy-server-01
container_ports:
- 80:80
- 443:443
container_restart_policy: always
container_environment:
HOST_ID: 100
container_env_file: xxx.env
container_volumes:
- /sys/fs/cgroup:/sys/fs/cgroup:ro
- ${PWD}/data:/data
container_privileged: no
container_network_mode: 'bridge'
container_capabilities:
- NET_ADMIN
container_log_driver: json-file
container_log_options:
max-size: 10m
max-file: 3
roles:
- { role: honomoa.docker_deployment }
Licence
CC BY-SA 3.0