Skip to content

Instantly share code, notes, and snippets.

@tung1404
Forked from fl64/docker-mod.yml
Created March 5, 2022 03:19
Show Gist options
  • Save tung1404/2a253898ad46e643fe95cf3af93fe09b to your computer and use it in GitHub Desktop.
Save tung1404/2a253898ad46e643fe95cf3af93fe09b to your computer and use it in GitHub Desktop.
Ansible playbook for modifying /etc/docker/daemon.json config (based on https://stackoverflow.com/questions/50796341/add-a-new-key-value-to-a-json-file-using-ansible)
- hosts: all
become: yes
gather_facts: false
vars:
tasks:
- name: Check that the /etc/docker/daemon.json exists
stat:
path: /etc/docker/daemon.json
register: stat_result
- block:
- name: load var from file
slurp:
src: /etc/docker/daemon.json
register: docker_vars
- debug:
msg: "{{ docker_vars.content|b64decode|from_json }}"
- name: append more key/values
set_fact:
docker_vars: "{{ docker_vars.content|b64decode|from_json }}"
- name: append more key/values
set_fact:
docker_vars: "{{ docker_vars | default([]) | combine({ item.key : item.value }) }}"
with_items:
- { key: "log-driver", value: "journald" }
- { key: "registry-mirrors", value: [ "http://registry.dev.local" ] }
- debug:
var: docker_vars
- name: write var to file
copy:
content: "{{ docker_vars | to_nice_json }}"
dest: /etc/docker/daemon.json
when: stat_result.stat.exists == true
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment