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