gpt4 book ai didi

一个 dockerfile 中的 RStudio 和 Shiny

转载 作者:行者123 更新时间:2023-12-04 12:33:34 26 4
gpt4 key购买 nike

我正在调查 docker分发 shiny也需要 RStudio 的应用程序。主要目标是在 Windows 下在医院轻松安装。在非 IT 人员安装期间,需要将字符输入到黑匣子中的所有内容肯定会失败。

我的 previous attempts使用过 vagrant,但单独安装 vagrant 被证明是一个障碍。
rocker存储库,有一个 RStudio 和一个 Shiny ,对于我自己的安装,两者都可以协同工作。但是,我想创建一个组合应用程序以便于安装。

推荐的工作流程是什么?从 RStudio 开始,手动添加 Shiny?
或者从 r-base 开始合并来自两个 Rockers 的 dockerfiles 代码?或者使用撰写工具?

最佳答案

一般来说,Docker 的重点是服务的隔离,以便它们可以在不影响其他人的情况下更新/更改。我的建议是使用 docker-compose , 反而。下面是一个例子 docker-compose yaml 文件,它使用非常有用的 docker-gen by Jason Wilder 在同一服务器上的不同子域上同时提供 rstudio 和 Shiny。 .下面使用的所有 R docker 图像均由 Rocker 提供或者更直接Rocker Docker Hub .这些非常非常可靠,因为德克·埃德尔博伊特和卡尔·博蒂格制造了它们。在这个例子中,我还包含了 RStudio 的一些选项,例如设置用户/密码以及用户是否具有 root 访问权限。有关使用 Rocker RStudio 图像的更多说明,请访问 this wiki page :

更改以下内容:

  • your_user 到您在服务器上的用户名
  • SOME_USER 到您想要的 RStudio 用户名
  • SOME_PASS 到您想要的 Rstudio 密码
  • *.DOMAIN.tld 到您的域,不要忘记为您的子域添加 A 记录。

  • nginx1:
    image: nginx
    container_name: nginx
    ports:
    - "80:80"
    - "443:443"
    volumes:
    - /etc/nginx/conf.d
    - /etc/nginx/vhost.d
    - /usr/share/nginx/html
    - /home/your_user/services/volumes/proxy/certs:/etc/nginx/certs:ro

    nginx-gen:
    links:
    - "nginx1"
    image: jwilder/docker-gen
    container_name: nginx-gen
    volumes:
    - /var/run/docker.sock:/tmp/docker.sock:ro
    - /home/your_user/services/volumes/proxy/templates/nginx.tmpl:/etc/docker-gen/templates/nginx.tmpl:ro
    volumes_from:
    - nginx1
    entrypoint: /usr/local/bin/docker-gen -notify-sighup nginx -watch -only-exposed -wait 5s:30s /etc/docker-gen/templates/nginx.tmpl /etc/nginx/conf.d/default.conf

    rstudio:
    links:
    - "nginx1"
    image: rocker/hadleyverse
    container_name: rstudio
    ports:
    - "8787:8787"
    environment:
    - VIRTUAL_PORT=8787
    - ROOT=TRUE
    - VIRTUAL_HOST=rstudio.DOMAIN.tld
    - USER=SOME_USER
    - PASSWORD=SOME_PASS

    shiny:
    links:
    - "nginx1"
    image: rocker/shiny
    container_name: shiny
    environment:
    - VIRTUAL_HOST=shiny.DOMAIN.tld
    volumes:
    - /home/your_user/services/volumes/shiny/apps:/srv/shiny-server/
    - /home/your_user/services/volumes/shiny/logs:/var/log/
    - /home/your_user/services/volumes/shiny/packages:/home/shiny/

    添加更多像博客这样的服务是微不足道的,例如,只需按照模式或在互联网上搜索 docker-compose您的服务的版本并添加它。

    关于一个 dockerfile 中的 RStudio 和 Shiny,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29212887/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com