作者:甄Ven-Li | 来源:互联网 | 2023-02-01 20:21
好吧,我是新手,Docker
我需要在Docker容器中实现一个Shiny应用程序.
我有来自https://hub.docker.com/r/rocker/shiny/的图片,其中包括Shiny Server
,但我不知道如何在服务器中部署我的应用程序.
我想在服务器中部署应用程序,将我的应用程序所需的软件包安装到Docker中,保存更改并导出图像/容器.
正如我所说,我是新手,Docker
我不知道它是如何运作的.
任何的想法?
1> Sacha..:
我想你应该首先在特定的文件夹中创建一个Dockerfile,它看起来像这样:
FROM rocker/shiny:latest
RUN echo 'install.packages(c("package1","package2", ...), \
repos="http://cran.us.r-project.org", \
dependencies=TRUE)' > /tmp/packages.R \
&& Rscript /tmp/packages.R
EXPOSE 3838
CMD ["/usr/bin/shiny-server.sh"]
然后进入此文件夹并构建您的映像,使用以下命令为其命名:
docker build -t your-tag .
最后,一旦构建了映像,就可以创建一个容器,如果你不忘记映射卷和端口,你应该可以在localhost:3838找到它,并从包含srv的文件夹启动以下命令文件夹:
docker run --rm -p 3838:3838 -v $PWD/srv/shinyapps/:/srv/shiny-server/ -v $PWD/srv/shinylog/:/var/log/shiny-server/ your-tag
如以下地址https://hub.docker.com/r/rocker/shiny/中的Docker文档中所述,您可能希望使用-d选项以分离模式启动它,并将其与主机的端口80映射为真实的部署.