If you run it on mac docker client, provide host IP 0.0.0.0 will save your time a ton.
jekyll serve --port 4001 --host 0.0.0.0
By default, 127.0.0.1 is used for localhost and its NIC cannot receive any traffic from your mac host, whereas 0.0.0.0 means to accept traffic on all NICs