JFe*_*dez 5 r shiny docker dockerfile
好吧,我是新手,Docker我需要在Docker容器中实现一个Shiny应用程序.
我有来自https://hub.docker.com/r/rocker/shiny/的图片,其中包括Shiny Server,但我不知道如何在服务器中部署我的应用程序.
我想在服务器中部署应用程序,将我的应用程序所需的软件包安装到Docker中,保存更改并导出图像/容器.
正如我所说,我是新手,Docker我不知道它是如何运作的.
任何的想法?
Sac*_*cha 13
我想你应该首先在特定的文件夹中创建一个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"]
Run Code Online (Sandbox Code Playgroud)
然后进入此文件夹并构建您的映像,使用以下命令为其命名:
docker build -t your-tag .
Run Code Online (Sandbox Code Playgroud)
最后,一旦构建了映像,就可以创建一个容器,如果你不忘记映射卷和端口,你应该可以在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
Run Code Online (Sandbox Code Playgroud)
如以下地址https://hub.docker.com/r/rocker/shiny/中的Docker文档中所述,您可能希望使用-d选项以分离模式启动它,并将其与主机的端口80映射为真实的部署.
该链接(https://hub.docker.com/r/rocker/shiny/)介绍了如何部署闪亮服务器。最简单的方法是: docker run --rm -p 3838:3838 rocker/shiny
如果你想扩展shiny服务器,你可以编写自己的Dockerfile并以shiny镜像作为基础镜像开始。( https://docs.docker.com/engine/reference/builder/ )
Dockerfile:来自 rocker/shiny:最新
| 归档时间: |
|
| 查看次数: |
3027 次 |
| 最近记录: |