首页 > 解决方案 > 在容器中运行时闪亮的应用程序非常慢

问题描述

我刚刚完成了一个闪亮的应用程序,它的性能很棒。但是,当我尝试在 Docker 上运行这个应用程序时,它会变得非常慢。如果在 Windows RStudio 上运行 shiny 时,查询需要 2 秒,如果它在 Docker 上运行则需要 6-7 秒(在 Windows 2016 上,我没有在 Linux Docker 上测试过)。

以下是我的 Dockerfile:

FROM openjdk:windowsservercore

COPY ./curl /curl/

SHELL ["cmd", "/S", "/C" ]

RUN /curl/bin/curl.exe -o R-3.6.3-win.exe https://cran.r-project.org/bin/windows/base/old/3.6.3/R-3.6.3-win.exe --insecure
RUN R-3.6.3-win.exe /VERYSILENT /DIR="C:\R\"
RUN /curl/bin/curl.exe -o Rtools.exe https://cran.r-project.org/bin/windows/Rtools/Rtools35.exe --insecure
RUN Rtools.exe /TYPE=full /VERYSILENT -NoNewWindow -Wait

RUN R\bin\R -e "install.packages(c('rJava', 'RJDBC', 'ggplot2', 'shinydashboard', 'shinyWidgets', 'plotly', 'DT', 'janitor', 'tidyverse', 'shinymanager'), repos = 'http://cran.us.r-project.org')"

COPY ./app /app/
EXPOSE 80
CMD "CMD /C R\bin\R -e \"shiny::runApp('/app', host = '0.0.0.0', port = 80)\""

标签: rdockershiny

解决方案


推荐阅读