According to this site https://wiki.apache.org/httpd/NonRootPortBinding "setcap" sets the privilege to use Port 80 on kernel level. Containers run inside a namespace inside the hosts machine kernel. So your tutorials only work on Virtual Machines and Dedicated servers. You may have more success with running your docker container on privileged level inside the host kernel:
$ docker run --privileged=true ...
Otherwise you will have to refrain yourself from using privileged ports (< 1024). The "Docker Way" is usually to refrain from using privileged containers and solely rely on port mapping.
According to this Ticket: https://github.com/docker/docker/issues/5650 setcap should generally work with docker containers but will fail, if you use the AUFS filesystem driver. This ticket is from 2014 so this may work with the latest AUFS implementation.