我正在使用 linux 服務器,我想用我閃亮的應用程式運行 docker 容器,但它不作業。為了檢查問題,我使用以下代碼在 RStudio 中運行了閃亮的應用程式:
shiny::runApp('/srv/shiny-server/my_app/app', host="0.0.0.0", port=4096)
然后,我可以看到我的應用程式在瀏覽器上運行,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
如果有人可以幫助我解決這個問題,我將不勝感激。
uj5u.com熱心網友回復:
該命令上的-p xxxx:yyyy引數docker run將內部容器埠 (yyyy) 映射到主機上的埠 (xxxx)。
您的應用程式偵聽埠 4096,這是內部埠。看起來你想在 localhost:4096 上訪問應用程式,所以主機埠也應該是 4096。
嘗試
sudo docker run --rm -p 4096:4096 my_app
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/474937.html
