Docker 带有闪亮应用程序的容器在本地主机上侦听
Docker container with shiny app listening on localhost
我正在使用 linux 服务器,我想 运行 一个 docker 容器与我闪亮的应用程序,但它不工作。为了检查问题,我在 RStudio 中安装了 运行 我闪亮的应用程序,代码如下:
shiny::runApp('/srv/shiny-server/my_app/app', host="0.0.0.0", port=4096)
然后,我可以在浏览器上看到我的应用 运行ning,RStudio 控制台中的输出如下:
...
Listening on http://0.0.0.0:4096
然后,我在 Ubuntu 终端上有一个 运行 一个 docker 容器和我的应用程序,我得到了相同的输出:
sudo docker run --rm -p 4096:3838 my_app
Listening on http://0.0.0.0:4096
但是如果我在浏览器上导航到这个地址,我将无法访问我的应用程序。
如果我在 Ubuntu 终端上写入以下内容,我会得到:
curl localhost:4096
curl: (7) Failed to connect to localhost port 4096
如果有人能帮我解决这个问题,我将不胜感激。
docker run
命令的 -p xxxx:yyyy
参数将内部容器端口 (yyyy) 映射到主机上的端口 (xxxx)。
您的应用侦听端口 4096,这是内部端口。您似乎想访问 localhost:4096 上的应用程序,因此主机端口也应为 4096。
尝试
sudo docker run --rm -p 4096:4096 my_app
我正在使用 linux 服务器,我想 运行 一个 docker 容器与我闪亮的应用程序,但它不工作。为了检查问题,我在 RStudio 中安装了 运行 我闪亮的应用程序,代码如下:
shiny::runApp('/srv/shiny-server/my_app/app', host="0.0.0.0", port=4096)
然后,我可以在浏览器上看到我的应用 运行ning,RStudio 控制台中的输出如下:
...
Listening on http://0.0.0.0:4096
然后,我在 Ubuntu 终端上有一个 运行 一个 docker 容器和我的应用程序,我得到了相同的输出:
sudo docker run --rm -p 4096:3838 my_app
Listening on http://0.0.0.0:4096
但是如果我在浏览器上导航到这个地址,我将无法访问我的应用程序。
如果我在 Ubuntu 终端上写入以下内容,我会得到:
curl localhost:4096
curl: (7) Failed to connect to localhost port 4096
如果有人能帮我解决这个问题,我将不胜感激。
docker run
命令的 -p xxxx:yyyy
参数将内部容器端口 (yyyy) 映射到主机上的端口 (xxxx)。
您的应用侦听端口 4096,这是内部端口。您似乎想访问 localhost:4096 上的应用程序,因此主机端口也应为 4096。
尝试
sudo docker run --rm -p 4096:4096 my_app