diff --git a/README.md b/README.md index 3090374..7c38cb5 100644 --- a/README.md +++ b/README.md @@ -60,6 +60,13 @@ Usually in combination with changing `docker_yum_repository` as well. A list of system users to be added to the `docker` group (so they can use Docker on the server). + docker_daemon_options: + storage-driver: "devicemapper" + log-opts: + max-size: "100m" + +Custom `dockerd` options can be configured through this dictionary representing the json file `/etc/docker/daemon.json`. + ## Use with Ansible (and `docker` Python library) Many users of this role wish to also use Ansible to then _build_ Docker images and manage Docker containers on the server where Docker is installed. In this case, you can easily add in the `docker` Python library using the `geerlingguy.pip` role: diff --git a/defaults/main.yml b/defaults/main.yml index 981218b..fc12059 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -31,3 +31,6 @@ docker_yum_gpg_key: "{{ docker_repo_url }}/centos/gpg" # A list of users who will be added to the docker group. docker_users: [] + +# Docker daemon options as a dict +docker_daemon_options: {} diff --git a/tasks/main.yml b/tasks/main.yml index d9c3b44..7db3b93 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -12,6 +12,21 @@ notify: restart docker ignore_errors: "{{ ansible_check_mode }}" +- name: Ensure /etc/docker/ directory exists. + file: + path: /etc/docker + state: directory + mode: 0755 + when: docker_daemon_options.keys() | length > 0 + +- name: Configure Docker daemon options. + copy: + content: "{{ docker_daemon_options | to_nice_json }}" + dest: /etc/docker/daemon.json + mode: 0644 + when: docker_daemon_options.keys() | length > 0 + notify: restart docker + - name: Ensure Docker is started and enabled at boot. service: name: docker