##### SUMMARY
Hi,

When you want to pass an empty list or a null/None value to published_ports on docker_container it's actually impossible, so you get this error

```
File \"/tmp/ansible_docker_container_payload_ZOZc5l/__main__.py\", line 1448, in _parse_publish_ports\r\n  File \"/tmp/ansible_docker_container_payload_ZOZc5l/__main__.py\", line 1003, in parse_port_range\r\nValueError: invalid literal for int() with base 10: ''\r\n",
 ```

Ref #61602

The problem is that we parse via `_parse_publish_ports` the parameter if self.published_ports is not None or not 'all'
Also after that there is no control on each elements of the list, (not like for the volumes parameter by example)

So I propose to patch line 1151
`self.published_ports = self._parse_publish_ports() `
to
`self.published_ports = self._parse_publish_ports() if self.published_ports else None`

Best regards

##### ISSUE TYPE
- Bug Report

##### COMPONENT NAME
* docker_container

##### ANSIBLE VERSION

```
ansible 2.8.4
```
dns_opts:
    description:
      - list of DNS options
    type: list
  dns_servers:
    description:
      - List of custom DNS servers.
    type: list
  dns_search_domains:
    description:
      - List of custom DNS search domains.
    type: list
  domainname:
    description:
      - Container domainname.
    type: str
    version_added: "2.5"
  env:
    description:
      - Dictionary of key,value pairs.
      - Values which might be parsed as numbers, booleans or other types by the YAML parser must be quoted (e.g. C("true")) in order to avoid data loss.
    type: dict
  env_file:
    description:
      - Path to a file, present on the target, containing environment variables I(FOO=BAR).
      - If variable also present in C(env), then C(env) value will override.
    type: path
    version_added: "2.2"
  entrypoint:
    description: