53 lines
1.4 KiB
YAML
53 lines
1.4 KiB
YAML
---
|
|
- name: Installer Docker et lancer MySQL sur Ubuntu
|
|
hosts: ubuntu
|
|
become: yes
|
|
tasks:
|
|
- name: Installer Docker
|
|
ansible.builtin.apt:
|
|
name:
|
|
- docker.io
|
|
state: present
|
|
|
|
- name: Démarrer Docker au boot
|
|
ansible.builtin.service:
|
|
name: docker
|
|
state: started
|
|
enabled: yes
|
|
|
|
- name: Vérifier si le conteneur MySQL existe déjà
|
|
ansible.builtin.command: docker inspect tp-mysql
|
|
register: mysql_container
|
|
failed_when: false
|
|
changed_when: false
|
|
|
|
- name: Lancer le conteneur MySQL
|
|
ansible.builtin.command: >-
|
|
docker run -d
|
|
--name tp-mysql
|
|
--restart unless-stopped
|
|
-e MYSQL_ROOT_PASSWORD={{ mysql_root_password }}
|
|
-e MYSQL_DATABASE={{ mysql_database }}
|
|
-p {{ mysql_host }}:{{ mysql_port }}:3306
|
|
mysql:8.0
|
|
when: mysql_container.rc != 0
|
|
|
|
- name: Attendre que MySQL réponde dans le conteneur
|
|
ansible.builtin.command: >-
|
|
docker exec tp-mysql mysqladmin ping
|
|
-uroot -p{{ mysql_root_password }}
|
|
register: mysql_ping
|
|
retries: 30
|
|
delay: 5
|
|
until: mysql_ping.rc == 0
|
|
changed_when: false
|
|
|
|
- name: Afficher docker ps
|
|
ansible.builtin.command: docker ps --filter name=tp-mysql
|
|
register: docker_ps
|
|
changed_when: false
|
|
|
|
- name: Debug docker ps
|
|
ansible.builtin.debug:
|
|
var: docker_ps.stdout_lines
|