首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过Internet访问我的docker容器(笔记本)。我的主机在Google Cloud上运行

如何通过Internet访问我的docker容器(笔记本)。我的主机在Google Cloud上运行
EN

Stack Overflow用户
提问于 2017-01-09 04:50:47
回答 1查看 331关注 0票数 0

我无法访问我的容器,该容器正在运行一个“停靠的”ipython笔记本应用程序。主机是在Google Cloud中运行的CentOS7。

以下是环境的详细信息:

主机: CentOS7/Apache Webserver,例如在IP地址123.4.567.890上运行(端口80正在侦听)

docker容器:一个Jupyter Notebook应用程序-容器被调用,例如APP-PN,可以通过Docker中的端口: 8888访问。

如果我在本地服务器上运行该应用程序,则可以通过浏览器访问notebook应用程序:http://localhost:8888/files/dir1/app.html

但是,当我在Google Cloud上运行应用程序时,如果我放:

http://123.4.567.890:8888/files/dir1/app.html

我无法访问它。

我尝试了所有组合,通过TCP在主机上打开端口8888,并通过docker run命令公开端口-所有这些都不起作用:

firewall-cmd --zone=public --add-port=8888/tcp --permanent

docker run -it -p 80:8888 APP-PN

docker运行--expose 8888 -it -p 80:8888 APP-PN

此外,我还尝试将Apache更改为侦听端口80和8888,但得到了一些错误。

但是,如果我停止Apache then服务器,然后运行以下命令

docker run -it -p 80:8888 APP-PN

我可以在浏览器中通过htttp://123.4.567.890/files/dir1/app.html简单地访问应用程序

这里是我的问题:我不想停止我的Apache not服务器,同时我想通过外部端口8888访问我的docker容器。

提前感谢大家的帮助。

EN

回答 1

Stack Overflow用户

发布于 2017-01-09 09:26:24

我在你的例子中没有看到一个docker run -it -p 8888:8888 APP-PN

-p参数首先描述要侦听的主机端口,然后描述要路由到的容器端口。如果您希望主机侦听与容器相同的端口,-p 8888:8888将完成此任务。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41537748

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档