Docker 一键式部署方案丨 Linux服务器中安装配置指定版本R以及Rstudio server

简介: Docker 一键式部署方案丨 Linux服务器中安装配置指定版本R以及Rstudio server

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

  • 安装指定版本的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

END

© 素材来源于网络,侵权请联系后台删除

往期推荐:

文献丨群体转录组分析锁定关键转录因子

文献丨转录组RNA seq——青年阶段!

文献丨高通量表型组图像识别与GWAS

笔记丨ggplot2热图入门学习笔记

笔记丨PCA分析基本知识和数学原理

图书丨R语言、Python、Linux

超算丨数据分析时电脑配置不够用?试试

软件 | 如何进行基因家族分析?TBtools

服务器丨家用联想台式机重装Linux系统

转录组丨一套完整的操作流程案例

转录组丨利用limma包进行差异表达分析

Python笔记丨函数和类相关基础知识总结

Python笔记丨条件与循环流程知识总结

Python笔记丨数据类型基础与易错点总结

GWAS丨全基因组关联分析工具GAPIT最新版

数据可视化丨优雅的带显著性标记的箱线散点图

相关实践学习
CentOS 7迁移Anolis OS 7
龙蜥操作系统Anolis OS的体验。Anolis OS 7生态上和依赖管理上保持跟CentOS 7.x兼容,一键式迁移脚本centos2anolis.py。本文为您介绍如何通过AOMS迁移工具实现CentOS 7.x到Anolis OS 7的迁移。
相关文章
|
3天前
|
监控 Ubuntu Linux
使用VSCode通过SSH远程登录阿里云Linux服务器异常崩溃
通过 VSCode 的 Remote - SSH 插件远程连接阿里云 Ubuntu 22 服务器时,会因高 CPU 使用率导致连接断开。经排查发现,VSCode 连接根目录 ".." 时会频繁调用"rg"(ripgrep)进行文件搜索,导致 CPU 负载过高。解决方法是将连接目录改为"root"(或其他具体的路径),避免不必要的文件检索,从而恢复正常连接。
|
6天前
|
缓存 Unix Linux
服务器linux!!!
本文介绍了计算机的演变历史、硬件基础知识及服务器相关知识。从电子管时代的ENIAC到冯-诺伊曼架构,再到现代计算机系统组成,详细讲解了计算机的发展历程。此外,文章还介绍了服务器的分类、品牌、硬件组成以及IDC机房的上架流程,为读者提供了全面的技术背景知识。
23 0
服务器linux!!!
|
8天前
|
人工智能 安全 Linux
|
10天前
|
Linux 数据库
Linux服务如何实现服务器重启后的服务延迟自启动?
【10月更文挑战第25天】Linux服务如何实现服务器重启后的服务延迟自启动?
58 3
|
12天前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
35 2
|
8天前
|
Linux
Linux 修改服务器时间
【10月更文挑战第27天】Linux 修改服务器时间
23 0
|
11天前
|
缓存 监控 Linux
Python 实时获取Linux服务器信息
Python 实时获取Linux服务器信息
|
6天前
|
弹性计算
阿里云2核16G服务器多少钱一年?亲测价格查询1个月和1小时收费标准
阿里云2核16G服务器提供多种ECS实例规格,内存型r8i实例1年6折优惠价为1901元,按月收费334.19元,按小时收费0.696221元。更多规格及详细报价请访问阿里云ECS页面。
39 9
|
6天前
|
弹性计算 异构计算
2024年阿里云GPU服务器多少钱1小时?亲测价格查询方法
2024年阿里云GPU服务器每小时收费因实例规格不同而异。可通过阿里云GPU服务器页面选择“按量付费”查看具体价格。例如,NVIDIA A100的gn7e实例为34.742元/小时,NVIDIA A10的gn7i实例为12.710156元/小时。更多详情请访问阿里云官网。
39 2
|
12天前
|
存储 弹性计算 NoSQL
"从入门到实践,全方位解析云服务器ECS的秘密——手把手教你轻松驾驭阿里云的强大计算力!"
【10月更文挑战第23天】云服务器ECS(Elastic Compute Service)是阿里云提供的基础云计算服务,允许用户在云端租用和管理虚拟服务器。ECS具有弹性伸缩、按需付费、简单易用等特点,适用于网站托管、数据库部署、大数据分析等多种场景。本文介绍ECS的基本概念、使用场景及快速上手指南。
49 3