矩池云虛擬機(jī)支持 Docker 使用,但是由于虛擬機(jī)目前不支持啟動(dòng)時(shí)傳遞環(huán)境變量來設(shè)置VNC、Jupyterlab 連接密碼,所以我們沒有創(chuàng)建相關(guān)基礎(chǔ)鏡像(設(shè)置固定密碼容易泄漏),下面給大家介紹手動(dòng)安裝使用 VNC、Jupyterlab、CUDA等步驟,以便支持使用 OpenGL 等功能的使用,開啟更完善和強(qiáng)大的功能體系。
租用機(jī)器
主機(jī)市場 https://matpool.com/host-market/gpu 點(diǎn)擊如下按鈕篩選支持 Docker 機(jī)器。
選擇一個(gè)機(jī)器進(jìn)行租用。在這里我們選擇 Ubuntu 20.04 Docker
鏡像,并在高級(jí)選項(xiàng)自定義兩個(gè)端口,一個(gè) ssh 類型的 5901 端口(用于 vnc 連接使用),一個(gè) http 類型的 8888 端口(用于 jupyterlab 服務(wù)使用),然后點(diǎn)擊租用按鈕。
租用成功后,點(diǎn)擊 SSH tab 下的點(diǎn)擊復(fù)制
按鈕復(fù)制 SSH 命令,
本地新建一個(gè) Terminal/CMD/Powershell 依次輸入上面復(fù)制的 SSH 命令和 SSH 密碼連接服務(wù)器。
安裝配置 VNC 軟件
VNC 安裝配置流程比較復(fù)雜,已經(jīng)給大家整理成一個(gè)一鍵安裝腳本了,內(nèi)容如下。
首先服務(wù)器內(nèi)使用 sudo su
指令切換到 root 帳號(hào)(密碼就是租用頁面 mat 密碼),然后使用 vim 創(chuàng)建一個(gè) vnc_install.sh
,并粘貼下面腳本內(nèi)容,然后使用 bash 指令運(yùn)行即可。
#! /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 && \
# 設(shè)置vnc啟動(dòng)腳本
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
# 網(wǎng)盤
ln -s "/mnt/" "/root/Desktop/我的網(wǎng)盤"
chmod +x /root/Desktop/*.desktop
ln -sf /bin/sh /bin/bash
echo "TerminalEmulator=xfce4-terminal" > /root/.config/xfce4/helpers.rc
設(shè)置 VNC 開機(jī)自啟
為了方便下次使用,我們可以使用 systemctl 將 vncserver 設(shè)置成開機(jī)自啟服務(wù),腳本如下,在服務(wù)器vim創(chuàng)建一個(gè) vnc_enable.sh
腳本,將下面內(nèi)容復(fù)制粘貼到文件,然后使用bash指令運(yùn)行即可完成設(shè)置比開啟 vncserver。注意將 VNC_PASSWD= 后,設(shè)置個(gè)復(fù)雜的密碼。
#! /bin/bash
set -e
# 創(chuàng)建 vncserver systemctl 啟動(dòng)腳本
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=設(shè)置一個(gè)復(fù)雜點(diǎn)的密碼"
ExecStart=/root/vnc/vnc_startup.sh
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target' > /etc/systemd/system/vncserver.service
# 使用systemctl設(shè)置 vncserver 開機(jī)自啟
sudo systemctl enable vncserver
sudo systemctl daemon-reload
# 啟動(dòng) vncserver
sudo systemctl start vncserver
登錄 VNC
前面已經(jīng)配置并啟動(dòng)了 VNC 服務(wù),VNC 登錄鏈接就是我們租用頁面 5901 端口的 Host:Port,如下圖VNC鏈接就是:hz-t2.matpool.com:26318
VNC 密碼是你在 vnc_enable.sh
腳本中設(shè)置的密碼,請(qǐng)?jiān)O(shè)置一個(gè)復(fù)雜點(diǎn)的密碼,避免被盜用。
登錄后即可正常使用啦~
安裝相關(guān)組件,查看顯卡驅(qū)動(dòng)里 OpenGL 版本。
apt install mesa-utils -y
glxinfo | grep "OpenGL version"
安裝 Miniconda 和 CUDA(含Python&Jupyterlab)
除了 VNC 常用的 Conda、CUDA 和 Jupyterlab 也給大家整理了安裝腳本,內(nèi)容如下。
首先使用 vim 創(chuàng)建一個(gè) conda_install.sh
,并粘貼下面腳本內(nèi)容,然后使用 bash 指令運(yùn)行即可。
#! /bin/bash
set -e
# 安裝 miniconda3 jupyterlab 創(chuàng)建虛擬環(huán)境
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
# 設(shè)置環(huán)境變量
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 里在新建一個(gè)Terminal ,vim 創(chuàng)建一個(gè) cuda_install.sh
,并粘貼下面腳本內(nèi)容,然后使用 bash 指令運(yùn)行即可。(以下為安裝 CUDA11.3 和 CUDNN 8.2 腳本,其他版本指令安裝可以瀏覽器搜索相關(guān)安裝指令,如有問題也可以聯(lián)系矩池云小助手)
#! /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 環(huán)境了。
Terminal 中輸入以下指令啟動(dòng) jupyterlab,注意:需要自己設(shè)置下 ${YOUR_TOKEN},可以設(shè)置一個(gè)相對(duì)復(fù)雜的,避免泄漏。
nohup jupyter lab --notebook-dir=/ --allow-root --no-browser --NotebookApp.token=${YOUR_TOKEN} --ip=0.0.0.0 &
在VNC瀏覽器里輸入127.0.0.1:8888
后,輸入自己設(shè)置 token 即可訪問。
或者自己電腦瀏覽器訪問租用頁面 Jupyterlab 鏈接,輸入 token 后也可以訪問。
保存環(huán)境
配置好所有環(huán)境后,可以租用頁面點(diǎn)擊更多
–>保存到個(gè)人環(huán)境
,這樣下次租用就不用重復(fù)配置了。
從保存環(huán)境啟動(dòng)機(jī)器
再次租用的時(shí)候,從主機(jī)市場選擇需要的機(jī)器,點(diǎn)擊租用
按鈕,然后選擇我的環(huán)境
下自己保存的環(huán)境啟動(dòng)機(jī)器即可。文章來源:http://www.zghlxwxcb.cn/news/detail-843299.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-843299.html
到了這里,關(guān)于使用矩池云 Docker 虛擬機(jī)安裝VNC、Conda、Python及CUDA的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!