La herramienta ansible es muy versátil y nos permite automatizar muchas tareas, entre ellas crear contenedores de docker. Esto es muy útil si tras configurar con ansible nuestra máquina, queremos dejar corriendo una aplicación, ya sea para probar que todo funciona, o para cualquier otra tarea.
Con el siguiente playbook lo que vamos a dejar corriendo son 2 contenedores. Uno con mysql 5.7 y otro con la última versión de wordpress. Aparte creamos la base de datos de wordpress y compartimos con la máquina que aloja los contenedores 2 volúmenes, para tener persistencia de los datos.
---
- hosts: docker
become: true
gather_facts: true
tasks:
- name: mysql
docker_container:
image: mysql:5.7
name: wordpress_mysql
volumes:
- "db_wordpress:/var/lib/mysql"
ports:
- "3306:3306"
env:
MYSQL_ROOT_PASSWORD: mypassword
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpressuser
MYSQL_PASSWORD: wordpress
- name: wordpress
docker_container:
name: wordpress
links:
- wordpress_mysql
image: wordpress:latest
ports:
- "80:80"
volumes:
- "data_wordpress:/var/www/html"
env:
WORDPRESS_DB_HOST: wordpress_mysql:3306
WORDPRESS_DB_USER: wordpressuser
WORDPRESS_DB_PASSWORD: wordpress