【发布时间】:2017-05-23 02:35:23
【问题描述】:
我无法访问正在运行“dockerized”ipython 笔记本应用程序的容器。主机是在 Google Cloud 中运行的 CentOS7。
这里是环境的详细信息:
主机:CentOS7/Apache Webserver 运行在例如 IP 地址:123.4.567.890(端口 80 正在监听)
Docker 容器:一个 Jupyter Notebook 应用程序 - 容器被称为例如 APP-PN,可以通过 docker 中的 8888 端口访问。
如果我在本地服务器上运行应用程序,我可以通过浏览器访问笔记本应用程序: 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 run --expose 8888 -it -p 80:8888 APP-PN
我还尝试将 Apache 更改为侦听端口 80 和 8888,但出现了一些错误。
但是,如果我停止 Apache 网络服务器然后运行命令
docker run -it -p 80:8888 APP-PN
我可以通过以下方式在浏览器中访问该应用程序: http://123.4.567.890/files/dir1/app.html
这是我的问题:我不想停止我的 Apache Web 服务器,同时我想通过外部端口 8888 访问我的 docker 容器。
提前感谢所有帮助。
【问题讨论】:
标签: apache docker tcp google-cloud-platform jupyter-notebook