linux - 在我自己的域上运行 docker shiny app

标签 linux docker ubuntu nginx shiny

我有一个具有特定 IP 的 VPS Linux (Ubuntu) 服务器,我想在我自己的域上运行我 Shiny 的应用程序 http://my_domain.com .因此,我构建了一个 docker 容器,并在 Ubuntu 终端上运行了我的应用程序:

sudo docker run -rm -p 4096:4096 my_app

它在本地主机上运行良好。然后,我修改了我的 Dockerfile 中的以下行:

EXPOSE 80
CMD ["R", "-e", "shiny::runApp('/srv/shiny-server/my_app/app',  host = 'server_ip', port = 80)"]

我再次构建并运行我的 docker 容器,但出现以下错误:

sudo docker run --rm -p 80:80 my_app

Listening on http://server_ip:80
createTcpServer: address not available
Error in initialize(...) : Failed to create server

也许我需要配置nginx。如果有人能告诉我在我自己的域上运行我的应用程序的最佳解决方案是什么以及如何做到这一点,我将不胜感激。

最佳答案

Docker 容器无法访问 server_ip,试试这个:

EXPOSE 80
CMD ["R", "-e", "shiny::runApp('/srv/shiny-server/my_app/app', host = '0.0.0.0', port = 80)"]

关于linux - 在我自己的域上运行 docker shiny app,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72151430/

相关文章:

linux - 为什么我的提交在最新的提交消息中重复了我的用户名?

linux - Ubuntu Zsh(通过 Vagrant)没有找到 Zsh 或其功能

ruby-on-rails - 我可以使用Docker进行Rails应用程序的生产部署吗?

mysql - 从 dockerfile 运行项目依赖项命令

ubuntu - 想使用 `Vlan` 的 `OpenVSwitch` 功能和 `LXD/LXC`

ubuntu - 如何在 Ubuntu 上安装 Swagger

linux - 为什么 "service sshd start"命令不能返回命令提示符?

linux - 如何获取带有变量的参数?

java - 将证书添加到 keystore 和信任库

java - out.absolute.dir 在 Linux 中是什么意思?