--- # Sample Ansible Playbook: Rollback Docker Service # ================================================= # Rollback playbook for undoing service deployments. # # Usage: # ansible-playbook rollback-service.yml -e service_name=myapp - name: Rollback Docker Service hosts: localhost connection: local gather_facts: no vars: service_name: "{{ service_name | mandatory }}" remove_volumes: "{{ remove_volumes | default(false) }}" tasks: - name: Check if container exists command: "docker ps -a --filter name={{ service_name }} --format '{{ '{{' }}.Names{{ '}}' }}'" register: container_check changed_when: false - name: Stop container command: "docker stop {{ service_name }}" when: container_check.stdout != "" ignore_errors: yes - name: Remove container command: "docker rm {{ service_name }}" when: container_check.stdout != "" - name: Remove associated volumes (optional) command: "docker volume rm {{ service_name }}-data" when: remove_volumes | bool ignore_errors: yes - name: Confirm rollback debug: msg: "Service {{ service_name }} has been rolled back"