dpsyssiv90846 2017-04-25 00:32
浏览 16
已采纳

无法在OSX上使用docker公开Web服务器

I have a docker image that runs a webserver and I would like to access it from my local OSX, but I'm having issues.

I start the container with: docker run -p 8000:8000 <container-name>

and I can see log messages telling me that the local server is listening on localhost:8000

I am able to get a successful response from running:

docker exec <IMAGE-ID> curl "http://localhost:8000/"

Addresses I've tried on my local OSX are:

  • http://localhost:8000/
  • http://<DOCKER-IP-172.17.0.2:8000/

Neither of those work. Any suggestions?

  • Container is built from golang:1.8
  • Docker Version: Version 17.03.1-ce-mac5 (16048)
  • MacOS Sierra: 10.12.4
  • Firewall is turned off for testing purposes

I've tried the same process on Ubuntu 16.04 and no luck their either.

  • 写回答

1条回答 默认 最新

  • dozxos6346 2017-04-25 00:43
    关注

    The newer versions of docker use vpnkit on OSX to manage the port forwarding to the containers... you should allow vpnkit through your firewall if you want to expose the container ports.

    Also, in your Go code, make sure to bind to 0.0.0.0 rather than 127.0.0.1 for your webserver code.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?