服务器版RstudioServer安装与配置详细教程

news/2024/11/24 9:18:43/

Docker部署Rstudio server

背景:如果您想在服务器上运行RstudioServer,可以按照如下方法进行操作,笔者测试时使用腾讯云服务器(系统centos7),需要在管理员权限下运行

Rstudio 官方提供了使用不同 R 版本的 Rstudio 镜像,使用 docker 来运行它们就可以在容器中使用不同的 R 版本,此方法非常的简单方便,开箱即用。

第一步:安装docker

  • 打开终端,输入cat /etc/os-release查看系统信息
  • 检查系统版本,如果Linux的发行版系统是centOS,安装最新版的docker需要centOS 7以上的系统
step 1: 安装必要的一些系统工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2

Step 2: 添加软件源信息
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

Step 3: 更新yum索引列表并安装Docker引擎
sudo yum makecache fast

Step 4: 开启Docker服务
sudo service docker start
  • 配置仓库镜像
  • 完成(输入docker出现提示信息)

第二步:安装Rstudio镜像

在安装了Docker,但没有容器运行的机器上,直接输入下面的一行命令并运行:

docker run  -p 8787:8787 -e PASSWORD=yourpasswordhere rocker/rstudio

注意:密码部分要根据自己情况进行修改,默认安装的是最新版本。

根据官方说明,此时以用户名rstudio,密码yourpasswordhere,即可成功登录Rstudio Server,使用浏览器打开IP:端口即可使用,该服务运行于虚拟机中,不会影响外部配置信息,刚刚查看已经更新到4.2.3的版本了

image-20230328194953732
image-20230328194953732
  • 安装指定版本的R和Rstudioserver

https://hub.docker.com/r/rocker/rstudio/tags打开官网后,可以自由选择指定版本,如果不加参数,默认使用最新版。比如,想使用3.6版本的R,只需把命令末尾的rocker/rstudio替换为rocker/rstudio:3.6.1即可

第三步:文件传输

docker容器内是个完整的linux系统,这个系统共享宿主机内核,但其上层却是和宿主机隔离的,因而docker内部可以随意折腾,而不必担心把宿主机的系统弄崩溃,直接通过网页进入Rstudio后,发现里边无法找到我们所需要的文件。

若需要用这个Rstudio处理宿主机上的数据,我们需要将宿主机上的路径映射如容器内。通过-v参数实现,命令格式-v outDir:inDiroutDir为宿主机的路径,inDir为docker容器内映射的路径,两者都需要写绝对路径。

docker run  -p 8787:8787 -e PASSWORD=yourpasswordhere \-v /mnt/public:/home/rstudio/public_data \rocker/rstudio 

可以通过多个-v参数,往容器中挂载多个路径。

第四步:端口映射

可以通过-p参数将容器内部的端口映射到宿主机上,以便容器能够能够对外提供服务或者方便外部访问宿主机。命令格式-p outPort:inPortoutPort为映射出的宿主机端口,inPort为容器内部端口。

若宿主机同时运行多个镜像,多个镜像间,端口不要冲突 例如,某个正在运行的Rstudio容器,已经占据了8787端口,那么新启动的Rstudio容器,需要避开这个端口,例如将端口设置为-p otherPort:8787等,冒号前是外部端口,冒号后是docker内端口

重要补充

  • 环境变量-e

    • PASSWORD:登录密码,必须设置
    • USER:用户名
    • ROOT:是否允许容器内对外部具有最高权限,这个一般需要关闭,如果开启的话虚拟机中可以对外部主机进行任意修改,很危险
  • 一键式启动方案

docker run  --name myRstudio -d --restart always\-p 8787:8787 \-p 3838:3838 \-e USER=user \-e PASSWORD=passwd \-e USERID=1000 \-e GROUPID=1000 \-e ADD=shiny \-v /mnt/public:/home/ \rocker/rstudio

本文由 mdnice 多平台发布


http://www.ppmy.cn/news/36693.html

相关文章

Apache Camel

目录儿一、简介二、核心总结一、简介 Camel is an Open Source integration framework that empowers you to quickly and easily integrate various systems consuming or producing data. Camel 是一个开源的集成框架,能够让开发者快速、轻松地整合/集成不同的应…

华为OD机试用java实现 -【最多获得的短信条数】(2023-Q1 新题)

最近更新的博客 华为od 2023 | 什么是华为od,od 薪资待遇,od机试题清单华为OD机试真题大全,用 Python 解华为机试题 | 机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南华为od机试,独家整理 已参加机试人员的实战技巧本篇题解:最多获得的短信条数 题目 某…

张文海教授课题组在国际高水平期刊《Cerebral Cortex》发表研究成果

调节悲伤情绪对于维持伴侣间的浪漫关系至关重要。人际情绪调节策略包括情感参与(AE)和认知参与(CE),这两种策略在浪漫关系中效用如何?它们是如何通过情感纽带调节伴侣情绪的?其背后的脑际神经互…

将 ChatGPT 与 实时聊天插件结合的终极指南

人工智能技术是聊天营销人员的福音,而ChatGPT是这场革命的突破性新成员。人工智能工具可以帮助显着改善您的营销工作,从创建更多自定义对话到节省客户支持响应的大量时间。事实上,你可以通过几个简单的步骤将ChatGPT与您的实时聊天插件结合起…

信号覆盖 蓝桥杯模拟

信号覆盖(暴力模拟) ❓️问题描述 小蓝负责一块区域的信号塔安装,整块区域是一个长方形区域,建立坐标轴后,西南角坐标为(0, 0), 东南角坐标为(W, 0), 西北角坐标为(0, H), 东北角坐标…

从零开始学Python第10课:常用数据结构之元组

前面的两节课,我们为大家讲解了 Python 中的列表,它是一种容器型的数据类型,通过列表类型的变量,我们可以保存多个数据并通过循环实现对数据的批量操作。当然,Python 中还有其他容器型的数据类型,接下来我们…

异步流程控制 遍历篇filter

文章目录基础方法arrayEachIndexValuebaseEachIndexValuesymbolEachIndexValuecompacttimesSync异步遍历filterfilterLimitfilterSeries基础方法 arrayEachIndexValue function arrayEachIndexValue(array, iterator, createCallback) {var value;var index -1;var size ar…

常用的网络营销推广渠道方式

随着互联网的快速发展和普及,网络营销推广已成为企业和个人宣传和推广的主要方式之一。相比于传统的宣传方式,网络营销推广具有成本低、效果好、受众广等特点,因此备受欢迎。但是,网络营销推广的渠道和方式繁多,如何选…