有没有可能将flexdashboard作为一个包与Open Analytics的golem包一起制作一个闪亮的应用?有没有可能在事后停靠它?flexdashboard .Rmd文件中的工作流进展如何?
到目前为止我的Dockerfile
FROM rocker/shiny-verse:latest
MAINTAINER Tim M.Schendzielorz "tim.schendzielorz@googlemail.com"
# 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并使用标准外壳命令启动闪亮的服务器?谢谢文森的docktorrent,现在就去试试吧!
发布于 2019-10-28 20:28:56
顺便说一句,{golem}不是Open Analytics包。
要回答“我们可以使用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()函数,该函数将捆绑安装应用程序所需的所有内容。但这不会在其中捆绑闪亮的服务器。
参见:https://rtask.thinkr.fr/shinyapp-runapp-shinyappdir-difference/,特别是名为RSTUDIO PRODUCTS 2/2:设置用于测试的闪亮服务器的部分,以获取Dockerfile设置一个傀儡应用程序+一个闪亮服务器的示例。
科林
https://stackoverflow.com/questions/58265749
复制相似问题