##### 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
```
state. Use force_kill to kill a container rather than stopping it.'
    type: str
    default: started
    choices:
      - absent
      - present
      - stopped
      - started
  stop_signal:
    description:
      - Override default signal used to stop the container.
    type: str
  stop_timeout:
    description:
      - Number of seconds to wait for the container to stop before sending SIGKILL.
        When the container is created by this module, its C(StopTimeout) configuration
        will be set to this value.
      - When the container is stopped, will be used as a timeout for stopping the
        container. In case the container has a custom C(StopTimeout) configuration,
        the behavior depends on the version of the docker daemon. New versions of
        the docker daemon will always use the container's configured C(StopTimeout)
        value if it has been configured.
    type: int
  trust_image_content:
    description:
      - If C(yes), skip image verification.
    type: bool
    default: no
  tmpfs:
    description: