====== PWstudio gpu 版安装 ======
本篇假设你已经装好了显卡驱动、Docker、nvidia-container-toolkit 这三样基础环境(如果还没装,请先回到 [[pwstudio:start|首页]] 根据你的系统选择对应的安装篇章)。如果你是新手、还不熟悉终端操作,也建议先看一眼 [[pwstudio:readme|安装前必看]] 和 [[pwstudio:mobaxterm|MobaXterm 新手教程]]。
===== 1. 需求 =====
* 已安装 NVIDIA 显卡驱动(支持 cuda12.1 以上),并能正常识别 GPU
* 已安装 Docker
* 已安装 nvidia-container-toolkit
以上三项,都可以用前面章节提到的命令自行检查一遍(''nvidia-smi''、''docker --version''、以及带 ''--gpus all'' 的测试容器),确认都正常之后,再继续下面的步骤。
===== 2. 宿主机安装 server.py 服务 =====
安装说明:点击链接, [[pwstudio:server|在 Linux 下安装 server.py 服务]] 跟着文档安装好证书服务, 再进行下一步。这一步是为了后面能正常拿到 qflow 的使用许可(license),如果跳过这一步,后面容器起来了也没法正常登录使用。
===== 3. 导入镜像 =====
sudo docker pull ccr.ccs.tencentyun.com/lxkt/qflowgpu:latest
这一步是从远端镜像仓库,把 PWstudio gpu 版的镜像(大约 12G,是一个打包好的完整环境)下载到你的服务器本地,没有指定目录要求。**根据网络情况,这一步可能需要 15 分钟左右,请耐心等待,不要因为看起来"卡住不动"就中途关闭终端**,下载过程中终端会持续显示下载进度条,属于正常现象。
===== 4. 启动容器 =====
sudo docker run -d --name qflowgpu \
-v /var/tmp/pwmat_host_secret:/var/tmp/pwmat_host_secret:ro \
--ulimit memlock=-1:-1 --ulimit stack=-1:-1 \
--gpus all --shm-size=128G --privileged -e SELINUX=disabled \
-p 80:80 -p 81:81 -p 2297:2297 -p 5010:5010 --hostname=mstation ccr.ccs.tencentyun.com/lxkt/qflowgpu:latest
这条命令的作用是:基于刚才下载好的镜像,创建并后台启动一个名叫 ''qflowgpu'' 的容器。执行成功后,一般会输出一长串字母数字组成的字符串(容器 ID),这就说明容器已经启动起来了,不需要额外确认。
81:81 不能变。 容器内的81端口必须映射成宿主机的 81 端口
通过如下命令查看正在运行的容器:
docker ps
通过如下命令查看所有容器(启动的 或 停止的):
docker ps -a
执行后能看到一个表格,如果表格里有一行 ''NAMES'' 列显示 ''qflowgpu'',''STATUS'' 列显示 ''Up ...''(比如 "Up 5 minutes"),就说明容器正在正常运行。
启动容器前,如有同名容器占用,需停止和删除旧容器:
docker stop qflowgpu
删除同类型旧容器:
docker rm qflowgpu
停止、删除之后,再重新执行上面的 ''docker run'' 命令即可。
- 删除容器, 容器里的数据也会被删除❗
- 容器里的 qflow 工作流不能导出
===== 5. 对容器登录、上传下载 =====
容器启动好之后,如果你需要登录到容器内部查看文件、上传下载数据,有两种方式:
* 通过 SSH 客户端登录、上传、下载推荐
^ 地址 ^ 端口号 ^ 用户名 ^ 密码 ^
| [宿主机ip] | 2297 | pwmat | PWmat2022 |
| [宿主机ip] | 2297 | root | PWmatSimplyBest |
上表中的 ''[宿主机ip]'' 需要替换成你服务器真实的 IP 地址(问管理员要,或者在服务器上执行 ''hostname -I'' 查看);端口号、用户名、密码都是固定的,按表格填写即可,**不需要修改**。
如果你还不知道怎么用 SSH 客户端登录、怎么上传下载文件,我们专门写了一份保姆级教程:[[pwstudio:mobaxterm|新手教程:如何用 MobaXterm 登录服务器并上传下载文件]],跟着做一遍就会了。
如果你不用图形化工具,而是想直接在命令行里用 ssh 命令登录,可以这样做:
ssh 用户名@宿主机ip -p 端口号
# SSH 首次连接陌生主机会弹出安全校验提示,询问是否继续连接,输入“yes”后回车;输入密码(不会显示)后回车
请把上面的"用户名"、"宿主机ip"、"端口号",替换成表格里对应的实际内容,比如:''ssh pwmat@192.168.1.100 -p 2297''。**密码输入时终端不会显示任何字符,包括星号也不会显示,这是正常的安全设计,不是电脑卡住了,正常输入完直接回车即可**。
* 或者可以通过 docker 命令直接访问容器
docker exec -it qflowgpu bash
# 使用完退回宿主机
exit
这种方式适合已经登录在宿主机终端上、想临时进容器里看一眼的情况,执行 ''exit'' 就会退回到宿主机(不会退出登录)。
默认Qflow运行路径为/share/home/pwmat/Q-Flow/xxx,可以在命令行在该目录下进行文件操作
===== 6. qstudio、qflow 访问登录 =====
前面几步都是在服务器的命令行上做的准备工作,从这一步开始,**改为使用网页浏览器来操作**了(推荐使用 Google Chrome 或 Microsoft Edge,效果最好),不用再回到终端了。
在你自己电脑(可以是另一台 Windows/Mac 电脑,只要能访问到这台服务器)的浏览器里,访问地址:%%http://[宿主机ip]%%
(同样把 ''[宿主机ip]'' 换成你服务器真实的 IP 地址)
^ 账号 ^ 密码 ^
| 15000000000 | PWmat2022 |
如果 ctrl+v 粘贴密码后提示密码错误,可能是浏览器兼容性存在问题,请手动输入密码即可
~~DISCUSSION:off~~