'Create a new container.
:type container_name: ``str``
:param container_name: Container name.
:return: :class:`Container` instance on success.
:rtype: :class:`Container`'

def create_container(self, container_name):

    self._check_container_name(container_name)
    path = os.path.join(self.base_path, container_name)
    try:
        self._make_path(path, ignore_existing=False)
    except OSError:
        exp = sys.exc_info()[1]
        if (exp.errno == errno.EEXIST):
            raise ContainerAlreadyExistsError(value='Container    with    this    name    already    exists.    The    name    must    be    unique    among    all    the    containers    in    the    system', container_name=container_name, driver=self)
        else:
            raise LibcloudError(('Error    creating    container    %s' % container_name), driver=self)
    except Exception:
        raise LibcloudError(('Error    creating    container    %s' % container_name), driver=self)
    return self._make_container(container_name)
