<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:

def start(config, container, binds=None, ports=None, port_bindings=None,
          lxc_conf=None, publish_all_ports=None, links=None,
          privileged=False,
          *args, **kwargs):
    '''
    Start the specified container

    container
        Container id
    Returns boolean
    '''
    if not binds:
        binds = {}
    if not ports:
        ports = {}
    err = "Unknown"
    client = _get_client(config)
    try:
        dcontainer = _get_container_infos(config, container)['Id']
        if not is_running(config, container):
            bindings = None
            if port_bindings is not None:
                print "Binding container ports ..."
                bindings = {}
                for k, v in port_bindings.iteritems():
                    bindings[k] = (v.get('HostIp', ''), v['HostPort'])
            client.start(dcontainer, binds=binds, port_bindings=bindings,
                         lxc_conf=lxc_conf,
                         publish_all_ports=publish_all_ports, links=links,
                         privileged=privileged)
            if is_running(config, dcontainer):
                print "Container has been started."
                return _get_container_infos(config, container)
        else:
            print "Container is already started."
            return _get_container_infos(config, container)
    except Exception as e:
        err = e
    utils.error("Unable to start your container: %s"%err)
    return None