diff --git a/defaults/main.yml b/defaults/main.yml index 95f3dcb..4bffbcd 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -60,3 +60,5 @@ docker_swarm_cluster_cadvisor_binary_path: /usr/local/bin/cadvisor docker_label_state_mode: merge docker_node_labels: [] # - { key: 'key_name', value: 'label_value' } + +docker_restart_daemon_cronjob: false \ No newline at end of file diff --git a/files/docker-restart-daemon.sh b/files/docker-restart-daemon.sh new file mode 100644 index 0000000..371e701 --- /dev/null +++ b/files/docker-restart-daemon.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash + +# docker daemon restart +systemctl restart docker > /var/log/docker-restart.log 2>&1 +exit 0 diff --git a/tasks/docker_setup.yml b/tasks/docker_setup.yml index b053606..295e642 100644 --- a/tasks/docker_setup.yml +++ b/tasks/docker_setup.yml @@ -73,6 +73,39 @@ when: docker_install tags: [docker, docker_prune_images] +- name: Cron job that restart docker daemon daily + block: + - name: Install a script that restart the docker daemon + copy: + src: docker-restart-daemon.sh + dest: /usr/local/sbin/docker-restart-daemon + owner: root + group: root + mode: 0744 + + - name: Install a cron job that restart the docker daemon + cron: + name: Restart docker daemon + cron_file: docker-restart-daemon + special_time: daily + user: root + state: present + job: "/usr/local/sbin/docker-restart-daemon" + when: docker_restart_daemon_cronjob + + - name: Disable the cron job that restart the docker daemon + cron: + name: Restart docker daemon + cron_file: docker-prune-images + special_time: daily + user: root + state: absent + job: "/usr/local/sbin/docker-restart-daemon" + when: not docker_restart_daemon_cronjob + + when: docker_install + tags: [docker, docker_restart_daemon_cronjob] + - block: - name: Remove the docker user user: name=docker state=absent