##### SUMMARY
If there's currently a container with image `repo/name:tag1` running (or created), and I change the `docker_container` image tag to `repo/name:tag2` (where this image hasn't been pulled yet), `docker_container` will not notice that the image changed and will not recreate the container.

##### ISSUE TYPE
- Bug Report

##### COMPONENT NAME
docker_container

##### ANSIBLE VERSION
```paste below
2.9.0
```

for part in mode.split(','):
        if part not in ('rw', 'ro', 'z', 'Z', 'consistent', 'delegated', 'cached', 'rprivate', 'private', 'rshared', 'shared', 'rslave', 'slave', 'nocopy'):
            return False
    return True
def parse_port_range(range_or_port, client):
    '''
    Parses a string containing either a single port or a range of ports.
    Returns a list of integers for each port in the list.
    '''
    if '-' in range_or_port:
        try:
            start, end = [int(port) for port in range_or_port.split('-')]
        except Exception:
            client.fail('Invalid port range: "{0}"'.format(range_or_port))
        if end < start:
            client.fail('Invalid port range: "{0}"'.format(range_or_port))
        return list(range(start, end + 1))
    else:
        try:
            return [int(range_or_port)]
        except Exception:
            client.fail('Invalid port: "{0}"'.format(range_or_port))
def split_colon_ipv6(text, client):