diff --git a/roles/docker/README.md b/roles/docker/README.md index cb0e6b6f..17c83de7 100644 --- a/roles/docker/README.md +++ b/roles/docker/README.md @@ -30,6 +30,7 @@ None. | `docker_repo_key` | `str` | `False` | - | URL for the GPG key used to validate the Docker repository. If not specified, the value is taken from the role's default variables. | | `docker_packages` | `list` of `str` | `False` | `["docker-ce", "docker-ce-cli", "docker-ce-rootless-extras", "containerd.io", "docker-buildx-plugin"]` | List of Docker packages to install. This allows customization of installed components. | | `docker_users` | `list` of `str` | `False` | `[]` | List of usernames that should be added to the `docker` system group. These users will then be able to run Docker commands without `sudo`. | +| `docker_daemon_config` | `dict` | `False` | `{}` | Configuration options for the Docker daemon. | # Example Playbook diff --git a/roles/docker/defaults/main.yml b/roles/docker/defaults/main.yml index 8caffcdd..f3362bbe 100644 --- a/roles/docker/defaults/main.yml +++ b/roles/docker/defaults/main.yml @@ -27,3 +27,5 @@ docker_packages: # A list of users who will be added to the docker group. docker_users: [] + +docker_daemon_config: {} diff --git a/roles/docker/meta/argument_specs.yml b/roles/docker/meta/argument_specs.yml index f4e0f121..9197ca45 100644 --- a/roles/docker/meta/argument_specs.yml +++ b/roles/docker/meta/argument_specs.yml @@ -50,3 +50,7 @@ argument_specs: type: list elements: str default: [] + docker_daemon_config: + description: Configuration options for the Docker daemon + type: dict + default: {} diff --git a/roles/docker/tasks/main.yml b/roles/docker/tasks/main.yml index cb69e4cb..7012e8ec 100644 --- a/roles/docker/tasks/main.yml +++ b/roles/docker/tasks/main.yml @@ -43,3 +43,13 @@ loop_control: loop_var: docker_user loop: "{{ docker_users }}" + +- name: Create /etc/docker/daemon.json from YAML variable + when: docker_daemon_config is defined and docker_daemon_config | length > 0 + ansible.builtin.copy: + content: "{{ docker_daemon_config | to_nice_json }}" + dest: "/etc/docker/daemon.json" + owner: root + group: docker + mode: '0644' + notify: Restart Docker