Just based on personal testing and from some documentation: The standard format is file.method, where file is the name of the file without an extension, and method is the name of a method or function that's defined in the file.
I reckon the Dockerfile should read CMD [ "function.handler" ] and not CMD [ "function.sh.handler" ]