'Start a container
:param container: The container to be started
:type  container: :class:`libcloud.container.base.Container`
:return: The container refreshed with current data
:rtype: :class:`libcloud.container.base.Container`'

def start_container(self, container):

    if (float(self._get_api_version()) > 1.22):
        result = self.connection.request(('/v%s/containers/%s/start' % (self.version, container.id)), method='POST')
    else:
        payload = {'Binds': [], 'PublishAllPorts': True}
        data = json.dumps(payload)
        result = self.connection.request(('/v%s/containers/%s/start' % (self.version, container.id)), method='POST', data=data)
    if (result.status in VALID_RESPONSE_CODES):
        return self.get_container(container.id)
    else:
        raise DockerException(result.status, 'failed    to    start    container')
