Your nginx container is not responding to http requests (timeout). You must have a working http site to be able to use the http challenge.
Make sure you forwarded port 80 from your host to your nginx docker container.
It may also be easier to run certbot on the host. Then your nginx container uses the certs from the host using a mapped volume. There are many ways to use docker this is just one possibility.