網(wǎng)站建設(shè)招標(biāo)2017seo短期培訓(xùn)班
Docker部署Rstudio server
背景:如果您想在服務(wù)器上運(yùn)行RstudioServer,可以按照如下方法進(jìn)行操作,筆者測(cè)試時(shí)使用騰訊云服務(wù)器(系統(tǒng)centos7),需要在管理員權(quán)限下運(yùn)行
Rstudio 官方提供了使用不同 R 版本的 Rstudio 鏡像,使用 docker 來運(yùn)行它們就可以在容器中使用不同的 R 版本,此方法非常的簡單方便,開箱即用。
第一步:安裝docker
打開終端,輸入 cat /etc/os-release
查看系統(tǒng)信息檢查系統(tǒng)版本,如果Linux的發(fā)行版系統(tǒng)是centOS,安裝最新版的docker需要centOS 7以上的系統(tǒng)
step?1:?安裝必要的一些系統(tǒng)工具
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服務(wù)
sudo?service?docker?start
配置倉庫鏡像 完成(輸入docker出現(xiàn)提示信息)
第二步:安裝Rstudio鏡像
在安裝了Docker,但沒有容器運(yùn)行的機(jī)器上,直接輸入下面的一行命令并運(yùn)行:
docker run -p 8787:8787 -e PASSWORD=yourpasswordhere rocker/rstudio
注意:密碼部分要根據(jù)自己情況進(jìn)行修改,默認(rèn)安裝的是最新版本。
根據(jù)官方說明,此時(shí)以用戶名rstudio
,密碼yourpasswordhere
,即可成功登錄Rstudio Server,使用瀏覽器打開IP:端口即可使用,該服務(wù)運(yùn)行于虛擬機(jī)中,不會(huì)影響外部配置信息,剛剛查看已經(jīng)更新到4.2.3的版本了

安裝指定版本的R和Rstudioserver
https://hub.docker.com/r/rocker/rstudio/tags打開官網(wǎng)后,可以自由選擇指定版本,如果不加參數(shù),默認(rèn)使用最新版。比如,想使用3.6版本的R,只需把命令末尾的rocker/rstudio
替換為rocker/rstudio:3.6.1
即可
第三步:文件傳輸
docker容器內(nèi)是個(gè)完整的linux系統(tǒng),這個(gè)系統(tǒng)共享宿主機(jī)內(nèi)核,但其上層卻是和宿主機(jī)隔離的,因而docker內(nèi)部可以隨意折騰,而不必?fù)?dān)心把宿主機(jī)的系統(tǒng)弄崩潰,直接通過網(wǎng)頁進(jìn)入Rstudio后,發(fā)現(xiàn)里邊無法找到我們所需要的文件。
若需要用這個(gè)Rstudio處理宿主機(jī)上的數(shù)據(jù),我們需要將宿主機(jī)上的路徑映射如容器內(nèi)。通過-v
參數(shù)實(shí)現(xiàn),命令格式-v outDir:inDir
,outDir
為宿主機(jī)的路徑,inDir
為docker容器內(nèi)映射的路徑,兩者都需要寫絕對(duì)路徑。
docker run -p 8787:8787 -e PASSWORD=yourpasswordhere \-v /mnt/public:/home/rstudio/public_data \rocker/rstudio
可以通過多個(gè)-v
參數(shù),往容器中掛載多個(gè)路徑。
第四步:端口映射
可以通過-p
參數(shù)將容器內(nèi)部的端口映射到宿主機(jī)上,以便容器能夠能夠?qū)ν馓峁┓?wù)或者方便外部訪問宿主機(jī)。命令格式-p outPort:inPort
,outPort
為映射出的宿主機(jī)端口,inPort
為容器內(nèi)部端口。
若宿主機(jī)同時(shí)運(yùn)行多個(gè)鏡像,多個(gè)鏡像間,端口不要沖突 例如,某個(gè)正在運(yùn)行的Rstudio容器,已經(jīng)占據(jù)了8787端口,那么新啟動(dòng)的Rstudio容器,需要避開這個(gè)端口,例如將端口設(shè)置為-p otherPort:8787
等,冒號(hào)前是外部端口,冒號(hào)后是docker內(nèi)端口
重要補(bǔ)充
環(huán)境變量
-e
:PASSWORD:登錄密碼,必須設(shè)置 USER:用戶名 ROOT:是否允許容器內(nèi)對(duì)外部具有最高權(quán)限,這個(gè)一般需要關(guān)閉,如果開啟的話虛擬機(jī)中可以對(duì)外部主機(jī)進(jìn)行任意修改,很危險(xiǎn)
一鍵式啟動(dòng)方案
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 多平臺(tái)發(fā)布