##### 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
```
type: str
      tmpfs_mode:
        description:
          - The permission mode for the tmpfs mount.
        type: str
  name:
    description:
      - Assign a name to a new container or match an existing container.
      - When identifying an existing container name may be a name or a long or short container ID.
    type: str
    required: yes
  network_mode:
    description:
      - Connect the container to a network. Choices are "bridge", "host", "none" or "container:<name|id>"
    type: str
  userns_mode:
    description:
      - Set the user namespace mode for the container. Currently, the only valid value is C(host).
    type: str
    version_added: "2.5"
  networks:
    description:
      - List of networks the container belongs to.
      - For examples of the data structure and usage see EXAMPLES below.
      - To remove a container from one or more networks, use the C(purge_networks) option.
      - Note that as opposed to C(docker run ...), M(docker_container) does not remove the default
        network if C(networks) is specified. You need to explicity use C(purge_networks) to enforce
        the removal of the default network (and all other networks not explicitly mentioned in C(networks)).
    type: list
    suboptions: