0

我有一个在 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')"

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

[client]
protocol=tcp

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

Rprofile.site 文件包含

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

0 回答 0