利用实验室服务器跑实验的时候,通常就是两种方案,一个是向日葵远程桌面进行操作,一个是通过ssh进行连接,用ssh的话,一般服务器都在内网(例如校园网),是无法在公网(不在校园网内)直接通过服务器ip进行ssh连接的,这里就可以使用内网穿透,将服务器的ip暴露在公网上,这样在家也能跑实验啦~

但是!ssh内网穿透上存在被别人恶意攻击的可能性!而且,实验室多人使用同一台服务器,都用ssh去连接,每个人每个项目可能又是不同的环境配置,那这时候怎么办呢,能不能将每个人的环境隔离开来呢🤔

当然是Docker啦~刚好最近在配置实验室的系统隔离,也是记录一下配置的流程。

首先摆出我们的系统配置

Ubuntu24.04

Amd64架构

校园网内网环境

安装docker

更新软件源

sudo apt update

安装基本软件

sudo apt-get install apt-transport-https ca-certificates curl software-properties-common lrzsz -y

指定使用阿里云镜像

sudo curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -sudo add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"

更新软件源

sudo apt update

安装docker-ce

sudo apt-get install docker-ce -y

查看docker版本

上述步骤已经完成了docker的安装,可以通过如下命令查看docker版本

docker version

配置可用镜像源

创建文件daemon.json

cd /etc/docker
sudo touch daemon.json
sudo vim daemon.json

把下面内容复制进daemon.json中

{"registry-mirrors": ["https://docker.1panel.live","https://hub.rat.dev"]
}

重启docker

systemctl daemon-reload
systemctl restart docker

创建容器

下载镜像

其中cuda版本根据nvidia-smi去https://hub.docker.com/r/nvidia/cuda/tags?page=2&name=11.3 搜索对应版本下载

docker pull nvidia/cuda:11.8.0-devel-ubuntu22.04

docker images 查看

使用docker images可以查看是否pull成功,看到类似图中框起来的就是配置好镜像了,接下来就是把镜像跑起来(你可以简单理解为镜像就是一个系统)

docker容器实例创建

创建一个docker容器,以增加里面的配置,使其后面能够通过ssh连入这个docker容器

docker run -i -t nvidia/cuda:11.8.0-devel-ubuntu22.04<对应上图> /bin/bash

这样之后就会进入 docker 容器的终端,在容器实例里面执行下列指令

apt-get update
apt-get install openssh-server # 安装sshd which sshd

创建权限分离目录

mkdir /var/run/sshd

设置密码,后续远程连接使用

passwd

修改ssh配置文件,设置为允许root远程登录

apt-get install vim #安装vim 
vim /etc/ssh/sshd_config

将PermitRootLogin prohibie-password 修改为:PermitRootLogin yes 即可。若没有则加上PermitRootLogin yes

apt-get install inetutils-ping #安装网络工具,后续ping网络(可不装)

最后退出

exit

将容器打包成镜像

docker ps -a找到刚刚新建但退出的容器

通过container id将容器打包成镜像:

docker commit 109f927221f4 cuda11.8:ubuntu24.04 <对应上图>

启动容器实例服务

启动容器,将宿主机的40902端口映射到docker容器的22端口(22端口就是ssh要连接的端口)

docker run -d -p 40902:22 -v /mnt/docker-user-ssh/pshawn-data:/mnt --privileged=true --name student01 --restart=always --gpus all cuda11.8:ubuntu24.04 /usr/sbin/sshd -D

本地ssh连接

通过ssh ip+port进行连接啦,密码是我们在docker容器实例中设置的,用户默认是root。

ssh root@ip<本地是127.0.0.1> -p 40902<上边设置的端口号>

创建多个容器

为每个用户创建新的容器实例。您可以重复执行类似的命令来启动新的容器,但请注意为每个容器指定不同的名称端口映射,以避免冲突。以下是创建新容器的示例命令:

docker run -d -p 40902:22 -v /mnt/docker-user-ssh/pshawn-data:/mnt --privileged=true --name student01 --restart=always --gpus all cuda11.8:ubuntu24.04 /usr/sbin/sshd -D

进入容器终端

docker exec -it <container_name> /bin/bash

参考博客:

linux服务器通过docker容器实现多用户环境隔离_docker多用户权限隔离-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/921995.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/921995.shtml
英文地址,请注明出处:http://en.pswp.cn/news/921995.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2019考研数学(二)真题

一、选择题 (1) (2) (3) (4) 遗漏点&#xff1a;由通解知特解&#xff0c;特解代入微分方程 (5) ★记住这个题&#xff0c;用的泰勒展开(6) (7) 遗忘点&#xff1a; ★伴随矩阵的秩与原矩阵秩的关系&#xff1a; (8) 错误点&#xff1a;粗心 二、填空题 (9) 易混淆点&#xff…

10 分钟上手 ECharts:从“能跑”到“生产级”的完整踩坑之旅

10 分钟上手 ECharts&#xff1a;从“能跑”到“生产级”的完整踩坑笔记 如果你也曾 复制了官方 Demo 却不知道怎么拆、窗口一拉伸图表就变形、切换标签页后内存暴涨——这篇博客就是为你写的。 我会用 6 个递进版本 的源码&#xff0c;带你把一张 最简柱状图 逐步进化成 可销毁…

二级缓存在实际项目中的应用

二级缓存在项目中的应用 目录 1. 二级缓存简介2. 应用场景3. 重难点分析4. 结合SpringBoot使用5. 最佳实践与案例6. 总结 1. 二级缓存简介 1.1 什么是二级缓存 二级缓存&#xff08;Second-Level Cache&#xff09; 是Hibernate框架中的一个重要特性&#xff0c;它提供了应…

深入浅出CRC校验:从数学原理到单周期硬件实现 (2)CRC数学多项式基础

数学的优雅&#xff1a;剖开CRC的多项式除法核心看似复杂的CRC校验&#xff0c;其核心建立在优雅的数学基础之上。本文将为您揭开CRC算法的数学面纱&#xff0c;让您真正理解多项式除法的精妙之处。模2运算&#xff1a;CRC世界的特殊算术 CRC计算建立在一种特殊的代数系统上——…

软考初级有没有必要考?

对正在学习相关专业的学生或者是行业新人&#xff0c;这篇文章从软考初级的含义、适合哪些人考、考试难度等方面解答&#xff0c;帮助你判断要不要报考。一、软考初级是什么&#xff1f; 软考初级是软考体系里面的基础级别&#xff0c;主要面向在校大学生或是IT行业新人&#x…

11 Prompt 工程进阶:Few-shot 与 Chain-of-Thought

11 Prompt 工程进阶&#xff1a;Few-shot 与 Chain-of-Thought 前10节总结 & 后10节展望 在前 10 节&#xff0c;我们已经完成了 AI 产品经理的入门阶段&#xff1a; 1–3&#xff1a;理解了大模型的基本概念、Token、Prompt 基础&#xff1b;4–5&#xff1a;体验了本地部…

ARM1.(ARM体系结构)

1.基本概念嵌入式:以应用为心&#xff0c;以计算机技术为础&#xff0c;软便件可被的专用计算机系统。计算机系统的软件基本组成: 系统软件、应用软件。计算机系统的硬件基本组成&#xff1a;运算器、控制器、存诸器、输入设备、输出设备日常生活中遇到的专业术语&#xff1a…

Django全栈班v1.01 Python简介与特点 20250910

从零开始的Python编程之旅 “人生苦短&#xff0c;我用Python。”这不仅仅是Python程序员的口头禅&#xff0c;更是对Python强大能力的最好诠释&#xff01;&#xff01;&#xff01; 为什么全世界有超过1500万开发者选择Python&#xff1f; 为什么Python连续多年蝉联最受欢…

【WebApi】什么情况开启如何开启缓存

在 ASP.NET Core WebAPI 中开启缓存是优化性能、减少服务器负载和提升用户体验的非常重要的手段。但并非所有情况都适合开启缓存。 下面我将从 “什么情况下开启” 和 “如何开启” 两个方面为你详细解释。 一、什么情况下应该开启缓存? 总的来说,缓存适用于 “变化不频繁但…

Go语言类型断言全解析

类型断言的基本概念类型断言(Type Assertion)是Go语言中用于检查接口值底层具体类型的机制。它本质上是一种运行时类型检查的操作&#xff0c;允许程序在运行时判断接口变量是否持有特定的类型值&#xff0c;并提取该类型的值。这是Go语言类型系统中的一个重要特性&#xff0c;…

大模型在题目生成中的安全研究:攻击方法与防御机制

大模型在题目生成中的安全研究&#xff1a;攻击方法与防御机制 文章目录大模型在题目生成中的安全研究&#xff1a;攻击方法与防御机制一、引言二、大模型在题目生成中的安全漏洞与攻击方法2.1 大模型在题目生成中的安全漏洞分析2.1.1 训练数据相关漏洞2.1.2 模型架构与特性相关…

跟做springboot尚品甄选项目(二)

登录功能的书写 后端接口的书写 &#xff08;1&#xff09;创建配置文件 粘贴这两个文件&#xff08;E:\project\AllProJect\Shangpin Selection\项目材料素材\资料\资料\03-配置文件&#xff09; 在spzx-manager服务的src/resources目录下创建application.yml、application-…

前后端接口调试提效:Postman + Mock Server 的工作流

前后端接口调试提效&#xff1a;Postman Mock Server 的工作流 &#x1f31f; Hello&#xff0c;我是摘星&#xff01; &#x1f308; 在彩虹般绚烂的技术栈中&#xff0c;我是那个永不停歇的色彩收集者。 &#x1f98b; 每一个优化都是我培育的花朵&#xff0c;每一个特性都是…

大带宽香港云服务器在数据传输速度上有何优势?

为方便站长快速部署网站、优化用户访问体验&#xff0c;当下众多实力强劲的香港数据中心&#xff0c;均推出了大带宽云服务器产品。不过&#xff0c;市面上不少数据中心虽宣称提供 “专属大带宽”&#xff0c;但其线路配置中&#xff0c;国际线路占比高、绕行链路多&#xff0c…

HT862 智能音频功率放大器:为便携音频设备打造高效稳定的音质解决方案

在蓝牙音箱、智能手机、便携式游戏机等设备的设计中&#xff0c;音频功率放大器是决定音质表现、续航能力与使用稳定性的关键部件。一款优质的音频功放&#xff0c;不仅需要输出足够的功率以满足清晰响亮的听觉需求&#xff0c;还需在能效、温控、适配性上达到平衡&#xff0c;…

HarmonyOS-ArkUI Web控件基础铺垫7-HTTP SSL认证图解 及 Charles抓包原理 及您为什么配置对了也抓不到数据

HarmonyOS-ArkUI Web控件基础铺垫6--TCP协议- 流量控制算法与拥塞控制算法 HarmonyOS-ArkUI Web控件基础铺垫5--TCP协议- 动画展示超时重传&#xff0c;滑动窗口&#xff0c;快速重传 HarmonyOS-ArkUI Web控件基础铺垫4--TCP协议- 断联-四次挥手解析 HarmonyOS-ArkUI Web控件…

【qt】通过TCP传输json,json里包含图像

主要是使用协议头 发送方connect(m_pDetectWorker, &DetectionWorker::sig_detectImg, this, [](const QJsonObject &json){// 转换为JSON数据QJsonDocument doc(json);QByteArray jsonData doc.toJson(QJsonDocument::Compact);// 构建增强协议头struct EnhancedHead…

四,基础开发工具(下)

4.5自动构建make/Makefile4.5.1基本使用1示例2进一步解释3实践4最佳实践4.6练习&#xff1a;进度条4.6.1倒计时4.6.2进度条version14.6.2进度条version24.7版本控制器Git4.7.1git操作1操作一次&#xff0c;以后不愁2经典"三件套"3常用4版本回退4.7.2小结4.5自动构建m…

C++基本数据类型的范围

文章目录不同位数的系统下各个类型所占字节数如何存储的我发现我能搜到的相关文章都只讲了这些数据类型的范围是这样的&#xff0c;不说实际的存储情况&#xff0c;当你了解了类型实际是如何存储的&#xff0c;再去记忆这些范围就简单了&#xff0c;所以就有了这篇文章不同位数…

基于社交媒体数据的公众情绪指数构建与重大事件影响分析

一、引言在信息爆炸的时代&#xff0c;社交媒体&#xff08;如微博、Twitter&#xff09;已成为公众表达情绪、讨论热点事件的主要平台。通过分析社交媒体数据&#xff0c;可以构建公众情绪指数&#xff0c;并进一步研究其与股市波动、政策发布等重大事件的关联性。本文将介绍如…