Tim*_*orz 2 r shiny docker dockerfile flexdashboard
是否可以使用 Flexdashboard 作为 Open Analytics golem 包的一个包来制作一个闪亮的应用程序?之后可以dockerize吗?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')"]
Run Code Online (Sandbox Code Playgroud)
我是 Docker 新手,似乎我需要将命令添加到应用程序规范中的 rmarkdown::run ,如此处所述:使用 Flexdashboard 部署 Shiny 应用程序 并使用标准 shell 命令启动闪亮服务器?谢谢文森特提供的docktorrent,现在就试试吧!
顺便说明一下,{golem}它不是开放分析包。
要回答“我们可以用 golem 部署 flexdashboard 吗”,是的:
实现您想要做的事情的最佳方法是将您的 Rmd 放入其中inst/,然后进行修改run_app:
run_app <- function(...) {
rmarkdown::run(
system.file("md.Rmd", package = "mypackage")
)
}
Run Code Online (Sandbox Code Playgroud)
请注意,对于 Docker,如果您需要内部的函数,则必须library(mypackage)在 Rmd 的顶部添加mypackage。
这样,您就可以使用 mypackage::run_app() 函数作为 Docker 文件的 CMD。
另请注意,它{golem}附带一个add_dockerfile()功能,该功能将捆绑安装应用程序所需的所有内容。但这不会将闪亮的服务器捆绑在其中。
请参阅: https: //rtask.thinkr.fr/shinyapp-runapp-shinyappdir-difference/,特别是名为 RSTUDIO 产品 2/2:设置闪亮服务器进行测试的部分,以获取 Dockerfile 设置 golem 应用程序 + 闪亮的示例服务器。
科林
| 归档时间: |
|
| 查看次数: |
915 次 |
| 最近记录: |