Question: After reviewing this amazing forum, i thought it's time to join in...

I'm having issue with a playbook that deploys multiple Dockers.

* My **Ansible** version is: 2.5.1
* My **Python** version is 3.6.9
* My Linux Images are 18.04 from the site: **OSboxes**.

Docker service is installed and running on both of the machines.

According to this website, all you need to do is follow the instructions and everything will work perfectly. :)

<https://www.techrepublic.com/article/how-to-deploy-a-container-with-ansible/>

**(The playbook i use is in the link above)**

but after following the steps, and using the playbook, i've got this error.

```
TASK [Pull default Docker image] ******************************************************************************************************
fatal: [192.168.1.38]: FAILED! => {"changed": false, "msg": "Unsupported parameters for (docker_image) module: source Supported parameters include: api_version, archive_path, buildargs, cacert_path, cert_path, container_limits, debug, docker_host, dockerfile, filter_logger, force, http_timeout, key_path, load_path, name, nocache, path, pull, push, repository, rm, ssl_version, state, tag, timeout, tls, tls_hostname, tls_verify, use_tls"}

```

I'll be happy for your support on this issue.

Answer: 
The `source: pull` option was added in [Ansible 2.8](https://docs.ansible.com/ansible/2.8/modules/docker_image_module.html). Since you are using Ansible 2.5.1, that option is not available.

You can either use a later version, 2.8 or above, or just remove that line from your playbook and it should work:

```
- name: Pull default Docker image
  docker_image:
    name: "{{ default_container_image }}"

```

You won't have the guarantee that the image has been newly pulled from a registry. If that's important in your case, you can remove any locally cached version of the image first:

```
- name: Remove Docker image
  docker_image:
    name: "{{ default_container_image }}"
    state: absent

- name: Pull default Docker image
  docker_image:
    name: "{{ default_container_image }}"

```
According the error message in Ansible module `docker_image` a parameter seems to be used, which is not part of the parameters implemented for that module (yet). Also the error message lists already the parameter which are available. Same as in the [documentation for the module](https://docs.ansible.com/ansible/latest/collections/community/general/docker_image_module.html).

An other possible reason might be that the line indent for some of the parameters isn't correct.