![](/img/trans.png)
[英]Using Rstudio with Docker compose and passing environment variables to rstudio user
[英]Customizing RStudio environment in Docker container
我在 Windows 10 Pro 的 Docker 容器中使用 RStudio。 我使用从https://hub.docker.com/u/rocker/拉取的 RStudio rocker/rstudio
图像。
要启动容器,我执行了命令:
docker run -d -p 8787:8787 -v //c/Users/<My name>/Documents/R/Rprojects:/home/rstudio/ rocker/rstudio
然后我可以通过以下链接从我的浏览器访问服务器: http://localhost:8787/ 。 一切正常。
我想做的是对 RStudio 环境进行一些自定义。 特别是,我将工具/全局选项/编辑器主题更改为“暗色粉彩”。 我应用了这个选项,但它只在容器存活时才存在。 当我重新启动容器时,自定义选项都消失了。
我的项目保存在我运行容器时指定的文件夹中,但全局选项不是。
那么,我怎样才能在我的硬盘上保存全局选项。 也许我需要在我的驱动器上公开另一个文件夹,该文件夹将连接到 RStudio 保存全局选项的容器文件夹?
是否可以将dockerfile
中的全局选项预定义为dockerfile
中的新层?
如果像我一样使用临时容器(使用--rm
标志),则容器在停止时会被删除。 这是一件好事,因为它每次都能确保 100% 干净的环境,但这意味着不会在会话之间保留设置。
与许多流行的 IDE 不同,rstudio 设置并未存储在用户可访问的透明 json 中,尽管他们正在处理它。
解决方法是将设置复制到正确的位置:
/home/rstudio/.R/rstudio/keybindings/rstudio_bindings.json
/home/rstudio/.rstudio/monitored/user-settings
要设置它:
我创建了一个指向以下脚本的快速启动快捷方式,该脚本易于修改。 它启动一个名为 rstudio 的容器并复制我备份的设置(在我的例子中来自/home/asac/projects/rstudio-config
)
#!/bin/bash
echo Running rstudio on localhost:8787
docker run -d --rm -p 8787:8787 -e PASSWORD=<pwd> \
-v /home/asac/projects:/home/rstudio/projects \
-v /home/asac/data:/home/rstudio/data \
--name rstudio asachet/shiny-dev
echo Copying over rstudio settings
docker exec rstudio mkdir /home/rstudio/.R/rstudio/keybindings -p
docker cp /home/asac/projects/rstudio-config/user-settings rstudio:/home/rstudio/.rstudio/monitored/user-settings
docker cp /home/asac/projects/rstudio-config/rstudio_bindings.json rstudio:/home/rstudio/.R/rstudio/keybindings/rstudio_bindings.json
echo Launching browser
xdg-open http://localhost:8787
在 RStudio v1.3 中,有一个新文件~/.config/rstudio/rstudio-prefs.json
控制所有设置。 您可以在机器之间复制它或手动编辑它。
RStudio Server PR 中的更多详细信息已在1.3 版中移植到 RStudio。
要清除亚历山大对他自己的帖子的评论:
(*第 4 步的最新项目有图像摇杆/诗句)
谢谢,亚历山大
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.