将 Shiny 应用程序连接到主机上运行的 MySQL 数据库给出“容器没有及时响应”

问题描述

我有一个在 Ubuntu 上运行的 MysqL 数据库,我尝试从在 Shinyproxy (v. 2.5.0) 中运行的 Shiny 应用程序连接到它。但是,我无法让它工作。每当我尝试连接到数据库时,我都会收到 500 错误(容器没有及时响应)。创建错误的行是:

stuffdb <- dbPool(
    RMysqL::MysqL(),user = "USERNAME",password = "PASSWORD",dbname = "DB_NAME",host = "127.0.0.1",port=3306
)

所有必要的库都已安装,当我从容器中运行应用程序时

sudo docker run -it -p 3838:3838 --network="host" my_docker_image R -e "shiny::runApp('MyApp')"

它工作正常。我在 application.yml 中设置 docker-network: host 来访问主机 MysqL 数据库。我还尝试将套接字指定为 container-volumes: ["/var/lib/MysqL/MysqL.sock:/MysqL.sock"] 并尝试将以下几行添加MysqL my.conf 文件中:

[client]
protocol=tcp

我已在 application.yml 中将 container-network 设置为 host,以便我的 R 应用程序应该使用 127.0.0.0(或 localhost,我都尝试过)连接到 MysqL 服务器.

Rprofile.site 文件包含

local({
   options(shiny.port = 3838,shiny.host = "0.0.0.0")
})

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)