honomoa.docker_deployment
Rol de Ansible: docker_deployment
Despliega tus imágenes de Docker.
Variables del Rol
registry_type: aws-ecr
Tipo de registro.
Valores posibles:
- aws-ecr
- auto-alojado (como nexus docker registry o el registro oficial de docker)
- archive-tar (archivo tar de docker save)
dockerhub(auto-alojado), puedes establecer registry_url enregistry.hub.docker.com
y team enlibrary
si la imagen tiene soporte oficial.
registry_region: us-west-1
Región de AWS ECR, solo requerido en registry_type=aws-ecr
aws_access_key_id: "{{ lookup('env', 'AWS_ACCESS_KEY_ID') }}"
ID de la clave de acceso de AWS IAM, por favor establece una variable de entorno AWS_ACCESS_KEY_ID
, solo requerido en registry_type=aws-ecr
aws_secret_access_key: "{{ lookup('env', 'AWS_SECRET_ACCESS_KEY') }}"
Clave secreta de acceso de AWS IAM, por favor establece una variable de entorno AWS_SECRET_ACCESS_KEY
, solo requerido en registry_type=aws-ecr
registry_username: "{{ lookup('env', 'REGISTRY_USERNAME') }}"
Nombre de usuario del registro, por favor establece una variable de entorno REGISTRY_USERNAME
, solo requerido en registry_type=self-hosted
registry_password: "{{ lookup('env', 'REGISTRY_PASSWORD') }}"
Contraseña del registro, por favor establece una variable de entorno REGISTRY_PASSWORD
, solo requerido en registry_type=self-hosted
archive_username: "{{ lookup('env', 'ARCHIVE_USERNAME') }}"
Nombre de usuario del URL del archivo, por favor establece una variable de entorno ARCHIVE_USERNAME
, solo requerido en archive_type=archive-tar
archive_password: "{{ lookup('env', 'ARCHIVE_PASSWORD') }}"
Contraseña del URL del archivo, por favor establece una variable de entorno ARCHIVE_PASSWORD
, solo requerido en registry_type=archive-tar
archive_url: "{{ lookup('env', 'ARCHIVE_URL') }}"
URL del servidor de archivos, sin el nombre del archivo tar.gz, por favor establece una variable de entorno ARCHIVE_URL
, solo requerido en registry_type=archive-tar
registry_scheme: https
Tipo de esquema del registro.
Valores posibles:
- https (predeterminado)
- http
registry_url: dockerhub.com
URL del registro de Docker.
image_team: moa
Nombre del equipo que posee la imagen.
image_project: caddy
Nombre del proyecto de la imagen.
image_tag: latest
Etiqueta de la imagen a desplegar.
container_name: caddy-server-1
Nombre del contenedor.
container_ports: []
Puerto a exponer.
container_restart_policy: always
Política de reinicio del contenedor.
container_environment: {}
Entorno del contenedor, diccionario de pares clave-valor.
container_env_file: ''
Ruta a un archivo, presente en el destino, que contiene variables de entorno FOO=BAR.
container_volumes: []
Volúmenes montados del contenedor.
container_extra_hosts:
Agregar mapeos de nombres de host. Usa los mismos valores que el parámetro --add-host del cliente de Docker.
container_command: ''
Comando a ejecutar.
Ver: https://docs.docker.com/compose/compose-file/#command
container_privileged: no
Dar privilegios extendidos a este contenedor.
container_dns_servers: []
Lista de servidores DNS personalizados.
container_dns_search_domains: []
Lista de dominios de búsqueda DNS personalizados.
container_network_mode: ''
Conectar el contenedor a una red. Las opciones son "bridge", "host", "none" o "container:<nombre|id>".
container_capabilities: []
Lista de capacidades a agregar al contenedor.
container_log_driver: json-file
El contenedor puede tener un controlador de registro diferente al del demonio de Docker. Las opciones son "none", "json-file", "syslog", "journald", "gelf", "fluentd", "awslogs", "splunk".
container_log_options:
Ejemplo 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: honumoa.docker_deployment }
Licencia
CC BY-SA 3.0
ansible-galaxy install honomoa.docker_deployment