Playbook para reiniciar contenedores Docker

Playbook para reiniciar contenedores Docker

 

Docker permite automatizar el despliegue de aplicaciones dentro de contenedores de software logrando una capa adicional de abstracción y automatización; utiliza características de aislamiento de recursos del sistema operativo, estos son “contenedores” independientes y se ejecutan dentro de una sola instancia de Linux y de esta forma evitamos mantener una máquina virtual para casa entorno.

Veremos a continuación un pequeño script y playbook de docker que permite reiniciar tres contenedores (una base de datos Postgresql, un web server y un motor de reportes), las imágenes corresponden al ERP Odoo v8 y fueron extraídas del sitio de la comunidad argentina (http://www.odooargentina.com/)


#!/bin/bash
# Parejas Container/imagen
#
# db-odoo80 postgres:9.4"
# odoo80 adhoc/odoo-adhoc:8.0"
# aeroo_docs adhoc/aeroo-docs:latest"
#

ansible-playbook -e container_name=odoo80 \
-e image_name=adhoc/odoo-adhoc:8.0 \
restart_All_containers.yaml

ansible-playbook -e container_name=db-odoo80 \
-e image_name=postgres:9.4 \
restart_All_containers.yaml

ansible-playbook -e container_name=aeroo_docs \
-e image_name=adhoc/aeroo-docs:latest \
restart_All_containers.yaml

restart_All_containers.yaml

---
- hosts: Docker
 user: telans
 sudo: true
 gather_facts: false

 tasks:
 - name: Containers
 docker:
 docker_api_version: "1.18" # Fijo version de la api
 name: "{{ container_name }}"
 image: "{{ image_name }}"
 net: host # Fix un bug de la api
 state: restarted

Este post muestra una forma sencilla de reusar un playbook desde un script de sistema operativo y puede ser de utilidad para el caso de necesitar programar tareas repetitivas.

Por Pablo Calvo

Dejá un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *