博主头像
小雨淅沥

Some things were meant to be.

服务器使用指南

服务器使用流程

连接计算服务器-> 在计算服务器上配置 docker -> 在计算服务器挂载存储服务器 -> 在 docker 中运行代码

1 操作手册

VISION 服务器使用方法 (旧平台)

VISION 服务器使用情况 (登记表)

新平台简明使用手册

2 Pycharm 配置

2.1 SSH 配置

Pycharm 对于实验室设备来说并不好用,踩了很多坑还是换回了 VScode

以 VScode 为例,通过在个人文件路径下设置 config 来完成(需要修改实际地址,用户,以及端口号)

在校外就使用直连完成,如果使用 easy connect 就需要使用跳板机

参考文件格式
参考文件格式

完毕后就可以在终端中快速启动 SSH 服务器的终端

2.2 访问 Docker 内文件

如果已经创建了 docker 就需在容器内部启动 SSH 服务,在本机进行远程连接

内层安装包:

apt install openssh-server
apt install openssh-client
apt install nano
nano /etc/ssh/sshd_config

在配置文件中需要修改两个地方

Port 2222 # 防止端口冲突,随便选择一个
PermitRootLogin yes # 允许 root 登陆

另外需要修改 root 的密码,输入一下指令

passwd

配置完毕后,重启 SSH 服务

service ssh restart

就可以在本地直接通过 SSH 访问容器内部,注意 ip 是宿主机的 ip(因为启动时候选择了 host 选项)

ssh root@xxx.xxx.xxx.xxx -p 2222

有时候会出现问题,是更换 image 产生的

ssh-keygen -R '[192.168.1.244]:2025'

3 计算服务器设置

在计算服务器上创建一个 Docker 的容器,对容器挂载存储服务器的文件即可

3.1 选择镜像

首先查看镜像源中所有的镜像,然后选择一个合适的版本进行运行

注意要检查驱动支持的 CUDA 版本

docker images

3.2 创建镜像命令

# 不用了
NV_GPU=0,1,2,3 nvidia-docker run --shm-size=4g --rm -d -it --net=host --cap-add sys_admin --privileged --name xxx pytorch/pytorch:xxx bash
# 也不用
docker run --gpus all --pid=host --shm-size=4g -d -it --net=host --cap-add sys_admin --privileged --name yangsh  yun.nju.edu.cn:5000/xxx bash

推荐使用

docker run --gpus all --shm-size=8g --rm \
  --mount type=bind,source=/share/datasets,target=/mount/share/datasets \
  --mount type=bind,source=/share/yangsh,target=/mount/yangsh \
  -dit --net=host --cap-add sys_admin --privileged \
  --name yangsh \
  yun.nju.edu.cn:5000/yangsh/pytorch:2.5.1-cuda12.4-basicsr \
  bash

3.3 执行操作

进入 容器的交互命令行

docker exec -it yangsh bash

3.4 挂载存储(旧存储)

在挂载存储之前,需要先执行基础库的安装

apt update
apt install nfs-common -y
apt install nfs-kernel-server -y
apt install netbase -y

执行后进行挂载安装

mkdir ./yangsh
mount -t nfs -o rw,nolock,vers=3 192.168.1.145:/sf/yangsh ./yangsh

4 挂载新存储服务器

挂载通过创建 docker 的时候指定,与旧存储

docker run --gpus all --shm-size=4g --rm \
  --mount type=bind,source=/share/datasets/vimeo_long,target=/datasets/ground_truth,readonly \
  --mount type=bind,source=/share/datasets/PrePost/NVDEC_HEVC_OUT/200K/vimeo_long/,target=/datasets/decoded,readonly \
  -d -it --net=host --cap-add sys_admin --privileged \
  --name yangsh \
  yun.nju.edu.cn:5000/base:pytorch-2.5.1-cuda12.4-compressai-1.2.6 \
  bash
  
  
docker run --gpus all --shm-size=8g --rm \
  --mount type=bind,source=/share/datasets,target=/mount/share/datasets \
  --mount type=bind,source=/share/yangsh,target=/mount/yangsh \
  -dit --net=host --cap-add sys_admin --privileged \
  --name yangsh \
  yun.nju.edu.cn:5000/yangsh/pytorch:2.5.1-cuda12.4-basicsr \
  bash

5 Docker 导出

对于计算服务器,并没有权限直接访问 share 文件夹

可以借助于 docker 服务器中转操作

参考以下命令

docker commit xxx(容器名) yun.nju.edu.cn:5000/xxx(个人用户名)/pytorch:1.8.x-cuda11.x-cudnnx-devel

docker push yun.nju.edu.cn:5000/xxx(个人用户名)/pytorch:1.8.x-cuda11.x-cudnnx-devel

6 查看自己的镜像

首先在服务器上登陆

docker login yun.nju.edu.cn:5000
curl -s http://yun.nju.edu.cn:5000/v2/_catalog | grep "yangsh/"
curl http://yun.nju.edu.cn:5000/v2/yangsh/pytorch/tags/list
# tag
pytorch-2.5.1-cuda12.4-compressai-1.2.6

或者直接通过 网址

7 守护进程

常见操作

# 创建会话
tmux new -s train

# 重新链接
tmux a -t train

# 列出所有会话
tmux ls

离开会话(后台保留)

Ctrl + b  d

滚动模式 Ctrl + b [ 退出 q

8 快捷指令

这里列出了成功运行以后,最常用的几个命令,供快速查询

# 启动
docker run --gpus all --shm-size=8g --rm \
  --mount type=bind,source=/share/datasets,target=/mount/share/datasets \
  --mount type=bind,source=/share/yangsh,target=/mount/yangsh \
  -dit --net=host --cap-add sys_admin --privileged \
  --name yangsh \
  yun.nju.edu.cn:5000/yangsh/pytorch:2.5.1-cuda12.4-basicsr \
  bash
  
# 进入容器
docker exec -it yangsh bash

# 重启 ssh 服务
service ssh restart

在本机上可能需要进行:

ssh-keygen -R '[192.168.1.244]:2025'

Docker Hub 使用

docker commit xxx(容器名) yun.nju.edu.cn:5000/xxx(个人用户名)/pytorch:1.8.x-cuda11.x-cudnnx-devel

docker push yun.nju.edu.cn:5000/xxx(个人用户名)/pytorch:1.8.x-cuda11.x-cudnnx-devel
服务器使用指南
https://rainerseventeen.cn/index.php/Toolkits/32.html
本文作者 Rainer
发布时间 2025-11-11
许可协议 CC BY-NC-SA 4.0

评论已关闭