Docker -p和Dockerfile的一些问题

时间:2017-02-11 16:45:39

标签: docker

1:docker run -d -p 3000:3000 images

如果我在容器中启动localhost:3000服务器,如何在我的机器浏览器中打开它,ip是什么? 我已尝试localhost:30000.0.0.0:3000

2:我使用docker pull ubuntudocker run,在更新和部署服务器之后我会通过它。现在我有一个ubuntu和一个新图像。

下次我使用这个新图片运行容器时, shell脚本仍然需要获取,服务器也需要重新打开。

当我docker run时,我如何提交它可以提供脚本并自行部署的图像。

  

感谢。

1 个答案:

答案 0 :(得分:1)

我不太明白问题2或3,你能添加更多上下文吗?

关于使用-p的问题,您应该可以使用http://localhost:3000/在浏览器中访问。然而,假设有几件事情是真的。

首先,您使用了-p 3000:<container-port> - 在这一点上看起来很不错。

其次,您运行的图像暴露了端口3000(EXPOSE 3000)。

第三,在容器中运行的服务正在监听0.0.0.0:3000。如果它正在侦听容器中的localhost ,那么端口导出将不起作用。每个容器都有自己的localhost ,只能在容器内 。所以它需要监听容器内的所有IP,以便外部连接从容器外部到达服务。