Docker:coudn不提供服务

时间:2016-02-05 11:13:09

标签: docker gunicorn

无法管理我在很多次之前做过的简单任务(几天前我已经更新了Docker,如果它很重要并且在docker-compose中出现了很多错误,甚至不能提供版本):在本地运行容器并访问公开的路径。很简单,但我有Error 61. Connection refused

我的所作所为:

  1. docker build container_name . - 在Dockerfile中我暴露了80和5000
  2. docker run -d -p 80:5000 container_name
  3. 在端口docker-machine dev ip上取消80地址 - 连接被拒绝。
  4. 在容器内部,我在5000端口上运行枪炮。它工作正常。 当我登录容器时,我很容易curl localhost:5000。并且localhost:5000上的工作服务器得到了很好的响应。

    所以我只需要在我的主机上将端口80映射到容器内的端口5000,那就是cmd -p 80:5000应该做什么,对吧?但它不起作用。我做错了什么?

    docker version

    Client:
      Version:      1.9.1
      API version:  1.21
      Go version:   go1.4.3
      Git commit:   a34a1d5
      Built:        Fri Nov 20 17:56:04 UTC 2015
      OS/Arch:      darwin/amd64
    
    Server:
      Version:      1.9.1
      API version:  1.21
      Go version:   go1.4.3
      Git commit:   a34a1d5
      Built:        Fri Nov 20 17:56:04 UTC 2015
      OS/Arch:      linux/amd64
    

1 个答案:

答案 0 :(得分:3)

请不要听 app.delete('/contactlist/:id', function (req, res) { var id = req.params.id; console.log("in delete"+ id); db.contactlist.remove({id : mongojs.ObjectId(id)}, function ( err , doc){ res.json(doc); }); }); localhost(或0.0.0.0,具体取决于配置的执行方式)

*专门在您的容器中循环。要将地图移植到主机,您需要收听非环回地址。

如果您正在指定localhost,则不需要EXPOSE - 这是隐含的。