无法管理我在很多次之前做过的简单任务(几天前我已经更新了Docker,如果它很重要并且在docker-compose中出现了很多错误,甚至不能提供版本):在本地运行容器并访问公开的路径。很简单,但我有Error 61. Connection refused
我的所作所为:
docker build container_name .
- 在Dockerfile中我暴露了80和5000 docker run -d -p 80:5000 container_name
docker-machine dev ip
上取消80
地址 - 连接被拒绝。在容器内部,我在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
答案 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
- 这是隐含的。