<!--- Verify first that your issue is not already reported on GitHub -->
<!--- Also test if the latest release and devel branch are affected too -->
<!--- Complete *all* sections as described, this form is processed automatically -->

##### SUMMARY
<!--- Explain the problem briefly below -->
The [docker_container](https://docs.ansible.com/ansible/latest/modules/docker_container_module.html) module recreates a container when the `restart_policy` is changed. This can be changed using the `docker update` command.

##### ISSUE TYPE
- Bug Report

##### COMPONENT NAME
[docker_container](https://docs.ansible.com/ansible/latest/modules/docker_container_module.html)

##### ANSIBLE VERSION
<!--- Paste verbatim output from "ansible --version" between quotes -->
```shell
$ ansible --version
ansible 2.9.2
  config file = /etc/ansible/ansible.cfg
  configured module search path = ['/home/ingmar/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python3.7/site-packages/ansible
  executable location = /usr/bin/ansible
  python version = 3.7.5 (default, Oct 17 2019, 12:09:47) [GCC 9.2.1 20190827 (Red Hat 9.2.1-1)]
```

##### CONFIGURATION
<!--- Paste verbatim output from "ansible-config dump --only-changed" between quotes -->
```paste below
$ ansible-config dump --only-changed
<empty>
```

##### OS / ENVIRONMENT
<!--- Provide all relevant information below, e.g. target OS versions, network device firmware, etc. -->
```shell
$ lsb_release -a
LSB Version:    :core-4.1-amd64:core-4.1-noarch
Distributor ID: Fedora
Description:    Fedora release 30 (Thirty)
Release:        30
Codename:       Thirty
```

##### STEPS TO REPRODUCE
<!--- Describe exactly how to reproduce the problem, using a minimal test-case -->
1. Run the following playbook:
```sh
$ ansible-playbook docker-container-update.yml
```
<!--- Paste example playbooks or commands between quotes below -->
```yaml
- name: Container update restart_policy
  hosts: localhost
  tasks:
    - name: Container with restart_policy
      docker_container:
        name: restart_policy_example
        image: alpine
        state: present
        restart_policy: unless-stopped
        entrypoint: top
```
2. Change the `restart_policy` to `always` and run it again.
```sh
$ ansible-playbook docker-container-update.yml
```
<!--- Paste example playbooks or commands between quotes below -->
```yaml
- name: Container update restart_policy
  hosts: localhost
  tasks:
    - name: Container with restart_policy
      docker_container:
        name: restart_policy_example
        image: alpine
        state: present
        restart_policy: unless-stopped
        entrypoint: top
```
3. Notice by using the `docker ps` command that the container is recreated instead of updated.

##### EXPECTED RESULTS
I expect the container to be update with  the new `restart_policy` by using the docker update command:
```sh
$ docker update --restart=<new policy>
``` 

##### ACTUAL RESULTS
<!--- Describe what actually happened. If possible run with extra verbosity (-vvvv) -->
The container is recreated instead of updated.
I currently run a `command` task before the container which updates the command.
```yml
# Update docker restart policy
- name: Update docker container restart policy
  command: "docker update --restart={{ (restart_policy == false) | ternary('no', restart_policy) }} {{ container }}"
  ignore_errors: true
```
'Please note that docker_container handles networks slightly different than docker CLI. '
            'If you specify networks, the default network will still be attached as the first network. '
            '(You can specify purge_networks to remove all networks not explicitly listed.) '
            'This behavior will change in Ansible 2.12. You can change the behavior now by setting '
            'the new `networks_cli_compatible` option to `yes`, and remove this warning by setting '
            'it to `no`',
            version='2.12'
        )
    if client.module.params['networks_cli_compatible'] is True and client.module.params['networks'] and client.module.params['network_mode'] is None:
        client.module.deprecate(
            'Please note that the default value for `network_mode` will change from not specified '
            '(which is equal to `default`) to the name of the first network in `networks` if '
            '`networks` has at least one entry and `networks_cli_compatible` is `true`. You can '
            'change the behavior now by explicitly setting `network_mode` to the name of the first '
            'network in `networks`, and remove this warning by setting `network_mode` to `default`. '
            'Please make sure that the value you set to `network_mode` equals the inspection result '
            'for existing containers, otherwise the module will recreate them. You can find out the '
            'correct value by running "docker inspect --format \'{{.HostConfig.NetworkMode}}\' <container_name>"',
            version='2.14'
        )
    try:
        cm = ContainerManager(client)
        client.module.exit_json(**sanitize_result(cm.results))
    except DockerException as e:
        client.fail('An unexpected docker error occurred: {0}'.format(e), exception=traceback.format_exc())
    except RequestException as e:
        client.fail('An unexpected requests error occurred when docker-py tried to talk to the docker daemon: {0}'.format(e), exception=traceback.format_exc())
if __name__ == '__main__':
    main()