##### SUMMARY
`docker_container` should so some sanity checks that not two volumes / mount points use the same target inside the container, so that especially when recreating containers, they won't be destroyed first before recreating fails.

This becomes more important once #49808 is merged.

##### ISSUE TYPE
- Bug Report

##### COMPONENT NAME
docker_container

##### ANSIBLE VERSION
```
2.8.0
```

from docker.utils.types import Ulimit, LogConfig
    from docker.errors import DockerException, APIError, NotFound
except Exception:
    
    pass
REQUIRES_CONVERSION_TO_BYTES = [
    'kernel_memory',
    'memory',
    'memory_reservation',
    'memory_swap',
    'shm_size'
]
def is_volume_permissions(mode):
    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:
        start, end = [int(port) for port in range_or_port.split('-')]
        if end < start:
            client.fail('Invalid port range: {0}'.format(range_or_port))
        return list(range(start, end + 1))
    else:
        return [int(range_or_port)]
def split_colon_ipv6(text, client):