矩池云虚拟机支持 Docker 使用,但是由于虚拟机目前不支持启动时传递环境变量来设置VNC、Jupyterlab 连接密码,所以我们没有创建相关基础镜像(设置固定密码容易泄漏),下面给大家介绍手动安装使用 VNC、Jupyterlab、CUDA等步骤,以便支持使用 OpenGL 等功能的使用,开启更完善和强大的功能体系。

租用机器

主机市场 https://matpool.com/host-market/gpu 点击如下按钮筛选支持 Docker 机器。

选择一个机器进行租用。在这里我们选择 Ubuntu 20.04 Docker 镜像,并在高级选项自定义两个端口,一个 ssh 类型的 5901 端口(用于 vnc 连接使用),一个 http 类型的 8888 端口(用于 jupyterlab 服务使用),然后点击租用按钮。

租用成功后,点击 SSH tab 下的点击复制按钮复制 SSH 命令,

本地新建一个 Terminal/CMD/Powershell 依次输入上面复制的 SSH 命令和 SSH 密码连接服务器。

安装配置 VNC 软件

VNC 安装配置流程比较复杂,已经给大家整理成一个一键安装脚本了,内容如下。

首先服务器内使用 sudo su 指令切换到 root 帐号(密码就是租用页面 mat 密码),然后使用 vim 创建一个 vnc_install.sh,并粘贴下面脚本内容,然后使用 bash 指令运行即可。

#! /bin/bash

set -e

# 1、安装vnc软件包
apt-get update && apt-get install -y libxfont-dev libfreetype6-dev dbus-x11 x11-xserver-utils && \
apt-get install -y tigervnc-standalone-server tigervnc-common tigervnc-xorg-extension && \
apt-get purge -y light-locker # 2、配置 vnc
mkdir -p /root/Desktop /root/.vnc /root/vnc /root/.config/xfce4 && \
# 设置vnc启动脚本
echo '#!/bin/sh
PATH=/usr/bin:/usr/sbin:$PATH
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS exec /usr/bin/xfce4-session' > /root/.vnc/xstartup echo '#!/usr/bin/env bash
export PATH=$PATH:/root/miniconda3/bin:/usr/local/cuda/bin set -e
mkdir -p "$HOME/.vnc"
PASSWD_PATH="$HOME/.vnc/passwd" if [[ -f $PASSWD_PATH ]]; then
rm -f $PASSWD_PATH
fi printf "${VNC_PASSWD}\n${VNC_PASSWD}\n\n" | vncpasswd -f >> $PASSWD_PATH chmod 600 $PASSWD_PATH vncserver -kill $DISPLAY &> /root/.vnc/vnc_startup.log \
|| rm -rfv /tmp/.X*-lock /tmp/.X11-unix &> /root/.vnc/vnc_startup.log \
|| echo "no locks present" vncserver :1 -depth 24 -localhost no -geometry 1280x1024 &> /root/.vnc/no_vnc_startup.log' > /usr/bin/vnc_startup.sh
chmod +x /usr/bin/vnc_startup.sh
ln -s /usr/bin/vnc_startup.sh /root/vnc/vnc_startup.sh # 添加vnc桌面快捷方式
# Terminal
echo '[Desktop Entry]
Version=1.0
Type=Application
Name=Terminal
Comment=Terminal Emulator
Exec=xfce4-terminal
Icon=utilities-terminal
Path=
Terminal=false
StartupNotify=false' > /root/Desktop/terminal.desktop
# firefox
echo '[Desktop Entry]
Encoding=UTF-8
Name=firefox
Comment=firefox
Exec=/usr/bin/firefox
Icon=/usr/lib/firefox/browser/chrome/icons/default/default128.png
Terminal=false
Type=Application
StartupNotify=true
Categories=Application;Development;' > /root/Desktop/firefox.desktop # 网盘
ln -s "/mnt/" "/root/Desktop/我的网盘"
chmod +x /root/Desktop/*.desktop
ln -sf /bin/sh /bin/bash
echo "TerminalEmulator=xfce4-terminal" > /root/.config/xfce4/helpers.rc

设置 VNC 开机自启

为了方便下次使用,我们可以使用 systemctl 将 vncserver 设置成开机自启服务,脚本如下,在服务器vim创建一个 vnc_enable.sh 脚本,将下面内容复制粘贴到文件,然后使用bash指令运行即可完成设置比开启 vncserver。注意将 VNC_PASSWD= 后,设置个复杂的密码。

#! /bin/bash

set -e

# 创建 vncserver systemctl 启动脚本
echo '[Unit]
Description=Start VNC server at startup
After=syslog.target network.target [Service]
Type=forking
User=root
Group=root
WorkingDirectory=/root
Environment="VNC_PASSWD=设置一个复杂点的密码"
ExecStart=/root/vnc/vnc_startup.sh
Restart=on-failure
RestartSec=5 [Install]
WantedBy=multi-user.target' > /etc/systemd/system/vncserver.service # 使用systemctl设置 vncserver 开机自启
sudo systemctl enable vncserver
sudo systemctl daemon-reload # 启动 vncserver
sudo systemctl start vncserver

登录 VNC

前面已经配置并启动了 VNC 服务,VNC 登录链接就是我们租用页面 5901 端口的 Host:Port,如下图VNC链接就是:hz-t2.matpool.com:26318

VNC 密码是你在 vnc_enable.sh 脚本中设置的密码,请设置一个复杂点的密码,避免被盗用

登录后即可正常使用啦~

安装相关组件,查看显卡驱动里 OpenGL 版本。

apt install mesa-utils -y
glxinfo | grep "OpenGL version"

安装 Miniconda 和 CUDA

除了 VNC 常用的 Conda、CUDA 和 Jupyterlab 也给大家整理了安装脚本,内容如下。

首先使用 vim 创建一个 conda_install.sh,并粘贴下面脚本内容,然后使用 bash 指令运行即可。

#! /bin/bash

set -e

# 安装 miniconda3 jupyterlab 创建虚拟环境
CONDA_ENV_NAME=myconda
PYTHON_VERSION=3.10
CONDA=/root/miniconda3.sh; \
wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-py38_23.11.0-2-Linux-x86_64.sh -O $CONDA && \
chmod +x $CONDA && $CONDA -b && /root/miniconda3/bin/conda init bash && /root/miniconda3/bin/conda clean -ya
/root/miniconda3/bin/python -m pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple && \
/root/miniconda3/bin/python -m pip install --no-cache-dir jupyterlab && \
/root/miniconda3/bin/conda create -n $CONDA_ENV_NAME python=$PYTHON_VERSION -y && \
/root/miniconda3/envs/$CONDA_ENV_NAME/bin/python -m pip install ipykernel && \
/root/miniconda3/envs/$CONDA_ENV_NAME/bin/python -m ipykernel install --user --name ${CONDA_ENV_NAME} --display-name ${CONDA_ENV_NAME}
rm $CONDA # 设置环境变量
echo 'export PATH=$PATH:/root/miniconda3/bin:/usr/local/cuda/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/nvidia/lib:/usr/local/nvidia/lib64:/usr/local/cuda/lib64/:/usr/lib/x86_64-linux-gnu
source activate myconda' >> /root/.bashrc

Conda 和 CUDA 可以同步安装,具体方式是在 VNC 里在新建一个Terminal ,vim 创建一个 cuda_install.sh,并粘贴下面脚本内容,然后使用 bash 指令运行即可。(以下为安装 CUDA11.3 和 CUDNN 8.2 脚本,其他版本指令安装可以浏览器搜索相关安装指令,如有问题也可以联系矩池云小助手)

#! /bin/bash

set -e

# 安装 CUDA 11.3
curl -fsSL https://mirrors.aliyun.com/nvidia-cuda/ubuntu2004/x86_64/3bf863cc.pub | apt-key add - && echo "deb https://mirrors.aliyun.com/nvidia-cuda/ubuntu2004/x86_64/ /" > /etc/apt/sources.list.d/cuda.list apt-get update && apt-get install -y --no-install-recommends libtinfo5 libncursesw5 cuda-cudart-dev-11-3=11.3.109-1 cuda-command-line-tools-11-3="11.3.1-1" cuda-minimal-build-11-3="11.3.1-1" cuda-libraries-dev-11-3="11.3.1-1" cuda-nvml-dev-11-3=11.3.58-1 cuda-nvprof-11-3=11.3.111-1 libnpp-dev-11-3=11.3.3.95-1 libcusparse-dev-11-3=11.6.0.109-1 libcublas-dev-11-3=11.5.1.109-1 cuda-nsight-compute-11-3=11.3.0-1 # 安装 CUDNN
apt-get update && apt-get install -y --no-install-recommends "libcudnn8=8.2.0.53-1+cuda11.3" "libcudnn8-dev=8.2.0.53-1+cuda11.3" && apt-mark hold "libcudnn8"
rm -rf /var/lib/apt/lists/*

安装完成后输入source /root/.bashrc即可加载最新安装的 conda 环境了。

Terminal 中输入以下指令启动 jupyterlab,注意:需要自己设置下 ${YOUR_TOKEN},可以设置一个相对复杂的,避免泄漏

nohup jupyter lab --notebook-dir=/ --allow-root --no-browser --NotebookApp.token=${YOUR_TOKEN} --ip=0.0.0.0 &

在VNC浏览器里输入127.0.0.1:8888后,输入自己设置 token 即可访问。

或者自己电脑浏览器访问租用页面 Jupyterlab 链接,输入 token 后也可以访问。

保存环境

配置好所有环境后,可以租用页面点击更多-->保存到个人环境,这样下次租用就不用重复配置了。

从保存环境启动机器

再次租用的时候,从主机市场选择需要的机器,点击租用按钮,然后选择我的环境下自己保存的环境启动机器即可。

使用矩池云 Docker 虚拟机安装VNC、Conda、Python及CUDA的更多相关文章

  1. 矩池云上编译安装dlib库

    方法一(简单) 矩池云上的k80因为内存问题,请用其他版本的GPU去进行编译,保存环境后再在k80上用. 准备工作 下载dlib的源文件 进入python的官网,点击PyPi选项,搜索dilb,再点击 ...

  2. 矩池云里查看cuda版本

    可以用下面的命令查看 cat /usr/local/cuda/version.txt 如果想用nvcc来查看可以用下面的命令 nvcc -V 如果环境内没有nvcc可以安装一下,教程是矩池云上如何安装 ...

  3. 矩池云上安装yolov4 darknet教程

    这里我是用PyTorch 1.8.1来安装的 拉取仓库 官方仓库 git clone https://github.com/AlexeyAB/darknet 镜像仓库 git clone https: ...

  4. 用端口映射的办法使用矩池云隐藏的vnc功能

    矩池云隐藏了很多高级功能待用户去挖掘. 租用机器 进入jupyterlab 设置vnc密码 VNC_PASSWD="userpasswd" ./root/vnc_startup.s ...

  5. 矩池云上安装ikatago及远程链接教程

    https://github.com/kinfkong/ikatago-resources/tree/master/dockerfiles 从作者的库中可以看到,该程序支持cuda9.2.cuda10 ...

  6. 矩池云安装/修改 cuda、cudnn、nvcc、tensorRT 教程

    在整个机器学习的过程中,配置环境一直是一个比较复杂的事情,今天介绍几种根据英伟达官方文档来配置环境的方法. 安装方案 https://gitlab.com/nvidia/container-image ...

  7. 在矩池云上复现 CVPR 2018 LearningToCompare_FSL 环境

    这是 CVPR 2018 的一篇少样本学习论文:Learning to Compare: Relation Network for Few-Shot Learning 源码地址:https://git ...

  8. 矩池云上TensorBoard/TensorBoardX配置说明

    Tensorflow用户使用TensorBoard 矩池云现在为带有Tensorflow的镜像默认开启了6006端口,那么只需要在租用后使用命令启动即可 tensorboard --logdir lo ...

  9. 如何使用 PuTTY 远程连接矩池云主机

    PuTTY 是一款开源的连接软件,用来远程连接服务器,支持 SSH.Telnet.Serial 等协议. 矩池云的主机支持 SSH 登录,以下为使用 PuTTY 连接矩池云 GPU 的使用教程. 如您 ...

  10. 如何使用 VS Code 远程连接矩池云主机

    Visual Studio Code(以下简称 VS Code)是一个由微软开发的代码编辑器.VS Code 支持代码补全.代码片段.代码重构.Git 版本控制等功能. VS Code 现已支持连接远 ...

随机推荐

  1. 【转帖】通过docker配置DNS服务

    https://blog.whsir.com/post-3185.html   在办公室开发人员经常会测试所写的页面,每次都要输入对应的IP地址或者更改hosts,为了让开发大爷省心,不如搭建一个dn ...

  2. [转帖]016 Linux 卧槽,看懂进程信息也不难嘛?top、ps

    016 Linux 卧槽,看懂进程信息也不难嘛?top.pshttps://my.oschina.net/u/3113381/blog/5455267 1 扒开看看 top 命令参数详情 Linux ...

  3. ElasticSearch必知必会-基础篇

    商业发展与职能技术部-体验保障研发组 康睿 姚再毅 李振 刘斌 王北永 说明:以下全部均基于eslaticsearch 8.1 版本 一.索引的定义 官网文档地址:https://www.elasti ...

  4. VictoriaMetrics 1.80版本中值得关注的新特性

    作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 change log请看:https://github.c ...

  5. Go-操作redis/redigo

    目录 Go-操作redis 安装 连接 使用 设置key过期时间 批量获取mget.批量设置mset 列表操作 hash操作 Pipelining(管道) redis发布会订阅模式 事务操作 万能操作 ...

  6. 升级到win11 22h2的体验

    win11 22h2更稳定了 在win11 22h2发布后没多久,我就升级到了这个版本,截止目前已经使用半个月了,谈谈我的使用感受. 总体要比之前的版本更稳定,表现为笔记本风扇不会突然响,突然卡顿,不 ...

  7. c++基础之字符串、向量和数组

    上一次整理完了<c++ primer>的第二章的内容.这次整理本书的第3章内容. 这里还是声明一下,我整理的主要是自己不知道的或者需要注意的内容,以我本人的主观意志为准,并不具备普适性. ...

  8. SqlSugar分组查询

    一.分组查询和使用 1.1 语法 只有在聚合对象需要筛选的时候才会用到Having,一般分组查询用不到可以去掉   var list = db.Queryable<Student>()   ...

  9. python:spacy、gensim库的安装遇到问题及bug处理

    1.spacy SpaCy最新版V3.0.6版,在CMD 模式下可以通过 pip install spacy -U 进行安装 注意这个过程进行前可以先卸载之前的旧版本 pip uninstall sp ...

  10. C#中DataTable数据导出为HTML格式文件

    /// <summary> /// DataTable导出为HTML的Table并保存到本地 /// </summary> /// <param name="d ...