wangsha.docker-generic-image
docker-generic-image
Rol de Ansible para gestionar y ejecutar un contenedor de docker a partir de cualquier imagen dada.
Requisitos
Este rol solo ha sido probado en Ubuntu 14.04. Dado que utiliza el módulo de docker de Ansible, necesitarás asegurarte de que tienes instalada una versión reciente de docker-py
y docker
.
Ejemplos
Instala este módulo desde Ansible Galaxy en el directorio './roles':
ansible-galaxy install wangsha.docker-generic-image -p ./roles
Usa este rol en un playbook de la siguiente manera, asumiendo que ya tienes docker configurado:
- hosts: 'servidores'
roles:
- role: angstwad.docker_ubuntu
become: true
- role: wangsha.docker-generic-image
become: true
docker_container_name: hello-world
docker_container_image: hello-world
Consulta el defaults/main.yml para ver las variables del rol que se pueden sobrescribir.
Si necesitas un playbook para configurar Docker en sí, revisa el rol de Galaxy angstwad.docker_ubuntu.
Mapeo de volúmenes personalizados
Docker permite montar un directorio o archivo del host como un volumen de datos.
Este rol monta directorios del host para conservar datos del contenedor y archivos del host para configurar el comportamiento del contenedor.
docker_generic-image_directory_volumes
y docker_generic-image_file_volumes
son las dos variables que controlan los mapeos de volúmenes.
Si deseas personalizar el mapeo, sigue el formato <directorio del host>:<directorio del contenedor>:<modo de mapeo>
para asegurarte de que los directorios del host se creen correctamente antes de lanzar contenedores.
Para personalizar los mapeos de archivos del host, actualiza docker_generic-image_file_volumes
.
Este rol creará automáticamente los directorios padres de los archivos y copiará la plantilla
a la máquina host. La convención de nombres para la plantilla es <nombre_del_archivo_host>.<extensión_del_archivo_host>.j2
.
Para copiar una plantilla desde tus propios directorios de ansible, establece docker_generic-image_template_path
.
Ejemplo de Configuración:
docker_container_file_volumes:
- '/opt/myapp/conf/settings.conf:/etc/myapp/conf/settings.conf:ro'
docker_container_template_path: /path/to/ansible/project/templates/
# asegúrate de que el archivo /path/to/ansible/project/templates/settings.conf.j2 exista.
Referencias Adicionales
Licencia
Información del Autor
- wangsha
ansible-galaxy install wangsha.docker-generic-image