gpt4 book ai didi

r - 如何使用 golem 在 Flexdashboard 包装器中制作 dockerized Shiny 应用程序?

转载 作者:行者123 更新时间:2023-12-02 19:23:10 24 4
gpt4 key购买 nike

是否可以使用 Flexdashboard 作为 Open Analytics golem 包的一个包来制作一个 Shiny 的应用程序?之后可以dockerize吗?flexdashboard .Rmd 文件的工作流程如何?

到目前为止我的 Dockerfile

FROM rocker/shiny-verse:latest 

MAINTAINER Tim M.Schendzielorz "<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="eb9f8286c59888838e858f91828e87849991ab8c84848c878e868a8287c5888486" rel="noreferrer noopener nofollow">[email protected]</a>"

# Install dependencies

RUN echo 'install.packages(c("dplyr","dbplyr","DBI","DT","plotly","flexdashboard","lubridate"), \
repos="http://cran.us.r-project.org", \
dependencies=TRUE)' > /tmp/packages.R \
&& Rscript /tmp/packages.R


# Copy configuration files into the Docker image
COPY shiny-server.conf /usr/bin/shiny-server.conf
COPY shiny-server.sh /usr/bin/shiny-server.sh

COPY flexdashboard.Rmd /usr/bin/flexdashboard.Rmd

# make all app files readable (solves issue when dev in Windows, but building in Ubuntu)
RUN chmod -R 755 /usr/bin

# Add shiny user
RUN groupadd user \
&& useradd --gid user --shell /bin/bash --create-home user

EXPOSE 3838



CMD ["R", "-e rmarkdown::run('/usr/bin/flexdashboard.Rmd')"]

我是 Docker 新手,似乎我需要将命令添加到应用程序规范中的 rmarkdown::run ,如此处所述:Deploy Shiny app with Flexdashboard并使用标准 shell 命令启动 Shiny 的服务器?感谢 Vincent 提供的 Dockertorrent,现在就尝试一下!

最佳答案

顺便说明一下,{golem} 不是开放分析包。

回答“我们可以用 golem 部署 flexdashboard 吗”,是的:

实现您想要做的事情的最佳方法是将您的 Rmd 放入 inst/ 中,并以这种方式修改 run_app:

run_app <- function(...) {
rmarkdown::run(
system.file("md.Rmd", package = "mypackage")
)
}

请注意,对于 Docker,如果您需要 mypackage 内部的函数,则必须在 Rmd 顶部添加 library(mypackage)

这样,您就可以使用 mypackage::run_app() 函数作为 Docker 文件的 CMD。

另请注意,{golem} 附带一个 add_dockerfile() 函数,该函数将捆绑安装应用程序所需的所有内容。但这不会将 Shiny 的服务器捆绑在其中。

参见:https://rtask.thinkr.fr/shinyapp-runapp-shinyappdir-difference/ ,特别是名为 RSTUDIO 产品 2/2:设置 Shiny 服务器进行测试的部分,作为 Dockerfile 设置 golem 应用程序 + Shiny 服务器的示例。

科林

关于r - 如何使用 golem 在 Flexdashboard 包装器中制作 dockerized Shiny 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58265749/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com