使用docker部署RStudio容器并结合内网穿透实现公网访问

文章目录

  • 前言
    • 1. 安装RStudio Server
    • 2. 本地访问
    • 3. Linux 安装cpolar
    • 4. 配置RStudio server公网访问地址
    • 5. 公网远程访问RStudio
    • 6. 固定RStudio公网地址

前言

RStudio Server 使你能够在 Linux 服务器上运行你所熟悉和喜爱的 RStudio IDE,并通过 Web 浏览器进行访问,从而将 RStudio IDE 的强大功能和工作效率带到基于服务器的集中式环境中。

下面介绍在Linux docker中安装RStudio Server并结合cpolar内网穿透工具,实现远程访问,docker方式安装可以避免很多问题,一键安装,如设备没有安装docker,需提前安装docker

1. 安装RStudio Server

执行docker 一键启动命令,其中-e PASSWORD=设置自己的登录密码,端口默认8787,其他参数默认

docker run -itd -p 8787:8787 --name rstudio -e PASSWORD=自己设置密码 --privileged=true -v /srv/shinyapps/:/home/rstudio/shinyapps -v /srv/shinylog/:/home/rstudio/shinylogs rocker/rstudio 

执行后,会自动下载镜像,然后启动容器,完成后,输入docker ps 即可看到运行的RStudio容器,运行挂载的端口为:8787,docker安装就完成了,非常简单快捷,且省去了繁琐的环境配置

2. 本地访问

上面安装完成后,访问Linux 8787端口,如局域网访问,需检查一下防火墙,这里使用Linux 内部浏览器访问,可以看到成功访问

输入用户名: rstudio 和自己设置的密码,即可登录成功,这样就完成了Linux RStudio Server安装且正常访问,下面安装cpolar 工具,实现在任意设备浏览器也可以访问RStudio

3. Linux 安装cpolar

上面我们成功安装了RStudio server,并局域网访问ok,下面我们在Linux安装cpolar内网穿透工具,通过cpolar 转发本地端口映射的http公网地址,我们可以很容易实现远程访问,而无需自己注册域名购买云服务器.下面是安装cpolar步骤

cpolar官网地址: https://www.cpolar.com

  • 使用一键脚本安装命令
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
  • 向系统添加服务
sudo systemctl enable cpolar
  • 启动cpolar服务
sudo systemctl start cpolar

cpolar安装成功后,在外部浏览器上访问Linux 的9200端口即:【http://局域网ip:9200】,使用cpolar账号登录,登录后即可看到cpolar web 配置界面,结下来在web 管理界面配置即可

4. 配置RStudio server公网访问地址

点击左侧仪表盘的隧道管理——创建隧道,创建一个RStudio 的cpolar 公网地址隧道!

  • 隧道名称:可自定义命名,注意不要与已有的隧道名称重复
  • 协议:选择http
  • 本地地址:8787(docker 挂载的端口)
  • 域名类型:免费选择随机域名
  • 地区:选择China vip

点击创建

隧道创建成功后,点击左侧的状态——在线隧道列表,查看所生成的公网访问地址,有两种访问方式,一种是http 和https

5. 公网远程访问RStudio

使用上面的https公网地址在任意设备的浏览器访问,即可成功看到我们RStudio 界面,这样一个公网地址且可以远程访问就创建好了,新地址访问,可能需要重新登录

输入账号密码,即可登录成功,这样一个远程地址就创建好了,在cpolar中,默认是随机地址,下面我们设置固定地址

6. 固定RStudio公网地址

由于以上使用cpolar所创建的隧道使用的是随机公网地址,24小时内会随机变化,不利于长期远程访问。因此我们可以为其配置二级子域名,该地址为固定地址,不会随机变化【ps:cpolar.cn已备案】

注意需要将cpolar套餐升级至基础套餐或以上,且每个套餐对应的带宽不一样。【cpolar.cn已备案】

登录cpolar官网,点击左侧的预留,选择保留二级子域名,设置一个二级子域名名称,点击保留,保留成功后复制保留的二级子域名名称

保留成功后复制保留成功的二级子域名的名称

返回登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道,点击右侧的编辑

修改隧道信息,将保留成功的二级子域名配置到隧道中

  • 域名类型:选择二级子域名
  • Sub Domain:填写保留成功的二级子域名

点击更新(注意,点击一次更新即可,不需要重复提交)

更新完成后,打开在线隧道列表,此时可以看到公网地址已经发生变化,地址名称也变成了固定的二级子域名名称的域名

最后,我们使用固定的公网地址访问RStudio工具,可以看到访问成功,这样一个固定且永久不变的公网地址就设置好了,新地址访问,可能需要重新登录!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/331612.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

电视台频道太多要管理

下午看了黑龙江卫视五个频道,三个在播医疗广告,二个在播没头尾的电视剧。绞尽脑汁做不出节目就不要搞很多频道。但话说回来,若各个频道都同时充斥精彩节目,观众眼花缭乱了,也看不过来,结果乱调台&#xff0…

算法之【前缀和】讲解

前言: 我们首先要明白何前缀和? 前缀和就是快速求出数组中某一个连续区间的和。算法的时间复杂度会将一个等级! 本文章主要讲解前缀和模板,分别为一维前缀和和二维前缀和。 一维前缀和: 第一步:预处理…

抖音矩阵云混剪系统源码(免授权版)多平台多账号一站式管理,附带系统搭建教程

搭建教程 MySQL 5.6 PHP 7.2 Apache 数据库名称 juzhen Nginx环境切换伪静态 1、解压安装包到项目根目录,找到application/database.php 更换自己的数据库密码 2、阿里云现有的配置不要动 其他按照文档进行添加 3、项目访问目录:public 4、域名…

数组练习 Leetcode 566.重塑矩阵

在 MATLAB 中,有一个非常有用的函数 reshape ,它可以将一个 m x n 矩阵重塑为另一个大小不同(r x c)的新矩阵,但保留其原始数据。 给你一个由二维数组 mat 表示的 m x n 矩阵,以及两个正整数 r 和 c &#…

【Git】常用的Git操作集合

常用的Git操作集合 1. 分支操作1.1 查看本地所有分支git branch 1.2 查看所有分支(包含本地远程仓库)git branch -a 1.3 切换分支git checkout test 2. 常用基本操作2.1 查看 git 各存储区内(文件)状态git status 2.2 查看工作区与暂存区文件差异git dif…

半波整流电路原理详解+参数与计算公式

什么是半波整流电路? 半波整流电路的基本操作非常简单,输入信号通过二极管,由于只能通过一个方向的电流,二极管的整流作用,单个二极管只允许通过一半的波形。 下图说明了半波整流电路的基本原理。 半波整流电路工作图…

ping github 请求超时 100%丢失

1,现象:github网站打不开 作为程序员,经常需要从github上下载东西,这次想要下载nvm(Node版本管理器),发现不行,网页打不开。 网上各种找,说要ping&#xff0c…

大模型重构千行百业,寻找数智化的春天 | 2024 AI科技峰会

文|郝鑫、黄小艺 刚刚过去的2023年,注定是不平凡的一年。 年初ChatGPT点燃了引线之后,百模大战、文生图应用爆火、AI Agent风靡......从IT基础设施,到千行百业,AI都在马不停蹄地重构一切,进入狂奔时代。 …

SPI传感器接口设计与优化:基于STM32的实践

SPI(串行外设接口)是一种常用的串行通信协议,用于在微控制器和外部设备之间进行全双工的高速数据传输。在本文中,我们将探讨如何基于STM32微控制器设计和优化SPI传感器接口,并提供相应的代码示例。 1. SPI传感器接口设…

分享 GitHub 上的敏感词汇工具类:sensitive-word

😄 19年之后由于某些原因断更了三年,23年重新扬帆起航,推出更多优质博文,希望大家多多支持~ 🌷 古之立大事者,不惟有超世之才,亦必有坚忍不拔之志 🎐 个人CSND主页——Mi…

Unity之铰链关节和弹簧组件

《今天闪电侠他回来了,这一次他要拿回属于他的一切》 目录 📕一、铰链关节组件HingeJoint 1. 实例 2. 铰链关节的坐标属性 ​3.铰链关节的马达属性Motor 📕二、弹簧组件 📕三、杂谈 一、铰链关节组件HingeJoint 1. 实例 说…

PyQt5零基础入门(四)——信号与槽

信号与槽 前言信号与槽单对单直接连接使用lambda表达式 信号与槽多对多一个信号连接多个槽多个信号连接一个槽信号与信号连接 自定义信号 前言 PyQt5的信号与槽是一种对象之间的通信机制,允许一个QObject对象发出信号,与之相连接的槽函数将会自动执行。…

[STM32F407ZET6] GPIO

GPIO模式 F4的GPIO功能比F1的功能更多一些, 但是整体框架一样. F4的输出配置和F1的不同, F4的配置后, 施密特触发器将会开启, 还会对输入寄存器进行采样读取. F1的配置后, 推挽输出将会关闭施密特触发器, 开漏模式读取会读输入寄存器, 推挽模式会读取输出寄存器的值. 输出(全…

贪心算法-活动安排-最详细注释解析

贪心算法-活动安排-最详细注释解析 题目: 学校在最近几天有n个活动,这些活动都需要使用学校的大礼堂,在同一时间,礼堂只能被一个活动使用。由于有些活动时间上有冲突,学校办公室人员只好让一些活动放弃使用礼堂而使用…

Three.js 学习笔记之模型(学习中1.18更新)

文章目录 模型 几何体 材质模型点模型Points - 用于显示点线模型Line | LineLoop | LineSegments网格模型mesh - 三角形 几何体BufferGeometry缓冲类型几何体BufferGeometry - 基类创建几何体的方式BufferAttribute Types定义顶点法线 geometry.attributes.normal BufferGeom…

CSS实现的 Loading 效果

方式一、纯CSS实现 代码&#xff1a;根据需要复制 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>CSS Animation Library for Developers and Ninjas</title><style>/* ---------------…

阿里云服务器哪个地域好?地域选择的影响因素与建议

阿里云服务器地域和可用区怎么选择&#xff1f;地域是指云服务器所在物理数据中心的位置&#xff0c;地域选择就近选择&#xff0c;访客距离地域所在城市越近网络延迟越低&#xff0c;速度就越快&#xff1b;可用区是指同一个地域下&#xff0c;网络和电力相互独立的区域&#…

新上线一个IT公司微信小程序

项目介绍 项目背景: 一家IT公司,业务包含以下六大块: 1、IT设备回收 2、IT设备租赁 3、IT设备销售 4、IT设备维修 5、IT外包 6、IT软件开发 通过小程序,提供在线下单,在线制单,在线销售,业务介绍,推广,会员 项目目的: 业务介绍: 包含企业业务介绍 客户需…

Tessy—嵌入式软件单元测试/集成测试工具

产品概述 Tessy源自戴姆勒—奔驰公司的软件技术实验室&#xff0c;由德国Hitex公司负责销售及技术的支持服务&#xff0c;是一款专门针对嵌入式软件进行单元/集成测试的工具。它可以对C/C代码进行单元、集成测试&#xff0c;可以自动化搭建测试环境、执行测试、评估测试结果并生…