Apache 如何通过Internet访问我的docker容器(笔记本)。我的主机在谷歌云上运行

Apache 如何通过Internet访问我的docker容器(笔记本)。我的主机在谷歌云上运行,apache,docker,tcp,google-cloud-platform,jupyter-notebook,Apache,Docker,Tcp,Google Cloud Platform,Jupyter Notebook,我无法访问正在运行“停靠”ipython笔记本应用程序的容器。主机是运行在谷歌云中的CentOS7 以下是环境的详细信息: 主机:CentOS7/Apache Web服务器,例如在IP地址123.4.567.890上运行(端口80正在侦听) Docker容器:Jupyter笔记本应用程序–该容器称为APP-PN,可通过Docker中的端口8888访问 如果我在本地服务器上运行应用程序,我可以通过浏览器访问笔记本应用程序: 但是,当我在谷歌云上运行应用程序时,如果我: 我无法访问它 我尝试了所

我无法访问正在运行“停靠”ipython笔记本应用程序的容器。主机是运行在谷歌云中的CentOS7

以下是环境的详细信息:

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

Docker容器:Jupyter笔记本应用程序–该容器称为APP-PN,可通过Docker中的端口8888访问

如果我在本地服务器上运行应用程序,我可以通过浏览器访问笔记本应用程序:

但是,当我在谷歌云上运行应用程序时,如果我:


我无法访问它

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

防火墙cmd--zone=public--add port=8888/tcp--permanent

docker run-it-第80页:8888 APP-PN

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

我还尝试将Apache更改为侦听端口80和8888,但出现了一些错误

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

docker run-it-第80页:8888 APP-PN

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

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


提前感谢您的帮助。

我在您的示例中没有看到

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


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

我试过888:8888,但没用。尤其是当我在主机上打开TCP端口8888时。我只是忘了把它包括在我的帖子里。