当前位置:   article > 正文

2024.05.15 [AI开发配环境]个人使用最新版远程服务器配环境大纲:docker、云盘、ssh、conda等

2024.05.15 [AI开发配环境]个人使用最新版远程服务器配环境大纲:docker、云盘、ssh、conda等

不包括在宿主机安装docker

docker

找到心仪的镜像,比如从网上pull:https://hub.docker.com/r/pytorch/pytorch/tags?page=&page_size=&ordering=&name=2.0.1

docker pull pytorch/pytorch:2.0.1-cuda11.7-cudnn8-devel
  • 1
# 新建容器
docker run --privileged --gpus device=all --shm-size 125G -p XXXX:6006 -p XXXX:22 -it -d -v /home/yuqiao/docker_home:/home/yuqiao -w /home/yuqiao --name qiao pytorch/pytorch:2.0.1-cuda11.7-cudnn8-devel /bin/bash

# 运行容器
docker exec -it <container_name> /bin/bash
  • 1
  • 2
  • 3
  • 4
  • 5

安装必要的东西

apt-get update
apt-get install vim
apt-get install git
apt-get install sudo

新建用户(可选)

新建用户:
adduser -uid 1001 yuqiao # 会自动给你分到相同id的组中

把它添加到sudoer:
vim /etc/sudoers #在root底下添加一行,root改成新建的用户名,其他不变

复制.batchrc
cp ~/.bashrc /home/yuqiao/.bashrc

激活 .bashrc
su yuqiao
source ~/.bashrc

如果需要回到root:
su

如果文件夹权限是root,改回yuqiao:(1001是yuqiao 的uid)
chown -R 1001:1001 .

安装并配置ssh(可选)

个人习惯用ssh直接连docker,如果没有这个需求可以跳过这一步。

passwd # 设置密码,用于ssh登录
apt-get install openssh-server # 安装ssh
  • 1
  • 2

配置ssh协议,允许密码登录root,允许X11转发:

vim /etc/ssh/sshd_config
  • 1

修改里面的如下内容:

PermitRootLogin yes #允许root用户登录
PasswordAuthentication yes # 允许用密码登录
X11Forwarding yes # 允许X11转发
X11UseLocalhost no # 不要让它走localhost,可能导致转发失败(亲测没有这句不行)
#AddressFamily inet # 使用Ipv4,有的地方可能ipv6不行


  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

修改好后,要重启ssh才能生效

/etc/init.d/ssh restart
service ssh restart
  • 1
  • 2

如果没有conda,则需要安装conda

下载下来代码后,建议用conda虚拟环境。
Linux python环境配置之第三方库的安装

好的链接失效了。
注意记住配好的虚拟环境的路径,需要的时候可以整体转移。重新下载这些包是非常非常慢的。

下载miniconda

wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh

安装miniconda

bash Miniconda3-latest-Linux-x86_64.sh

注意,需要阅读协议,大多数地方要按ENTER,少部分地方要输入yes(同意协议)

刷新环境变量

source ~/.bashrc

如果运行后出现(base)则表示miniconda安装成功

配置环境变量

vim ~/.bashrc
#增加 export  PATH="/root/miniconda3/bin:"$PATH
source ~/.bashrc
  • 1
  • 2
  • 3

channels

可以先在浏览器里试试这些链接能否打开

conda config --remove channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --remove channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --remove channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
conda config --remove channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/

conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/
conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/

conda config --set show_channel_urls yes # 这样以后下载的时候会显示这个包来自哪个源
conda config --get channels  # 查看现在的channesl (会自动显示优先级,最后add的优先级最高)

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

export PATH=$PATH:/home/yuqiao/miniconda3/bin

安装tmux

apt-get install tmux

安装一些图形驱动(用于处理以下报错)

apt install libgl1-mesa-glx # ImportError: libGL.so.1: cannot open shared object file: No such file or dir
apt-get install libxrender1 # ImportError: libXrender.so.1: cannot open shared object file: No such file or directory

pip设置为清华源或阿里云

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/

sshfs docker云盘相关

sshfs docker插件安装:

查看已安装插件:
docker plugin ls

安装插件:
docker plugin install ucphhpc/sshfs

docker plugin install vieux/sshfs

这两个中vieux快但不维护了;ucphhpc还在维护但慢一些

创建云盘:密码建议cat;直接输需要单引号

docker volume create -d ucphhpc/sshfs -o sshcmd=REMOTE_USER@REMOTE_IP:REMOTE_PATH -o port=REMOTE_PORT -o password=$(cat .yq_pwd) -o allow_other -o reconnect -o ServerAliveInterval=15 VOLUME_NAME

docker volume create -d vieux/sshfs -o sshcmd=yuqiao@XX:/home/yuqiao/docker_home -o port=22 -o password=‘your_pass_word’ -o allow_other -o reconnect -o ServerAliveInterval=15 sshfs-volume-datazoo

保存和重载容器

commit和export二选一

docker commit dockerid
qiao_rfd_conda_commit # 可回滚,最后的参数是镜像的名字,可以直接run它,不需要import
docker export -o /qiaodisk/qiaoRfdConda.tar dockerid # 完全clean的新镜像,需要import之后才能run # 7.6G
scp -P 22  qiaoRfDConda_old.tar yuqiao@XXX.XX.XX.XX:/home/yuqiao/ # 移动到另一台设备

# 在另一台设备
docker import /qiaodisk/qiaoRfdConda.tar qiao_rfd_conda2:xxx
#docker run --privileged -it -p 50003:22 -v /qiaodisk/tfDocker:/home/yuqiao -w /home/yuqiao -d --name qiao_conda qiaorfd /bin/bash
#docker run --privileged -p 10108:6006 -p 10109:22 -it -d -v /qiaodisk/tfDocker:/home/yuqiao -w /home/yuqiao -e DISPLAY=:10.0 -e GDK_SCALE -e GDK_DPI_SCALE --name qiao_rfd_conda qiao_rfd_conda /bin/bash   
docker run --privileged --gpus all --shm-size 8G -p XXXXX:6006 -p XXXXX:22 -it -d -v ~/docker_home:/home/yuqiao -w /home/yuqiao --name qiao_rfd_conda qiao_rfd_conda /bin/bash  #dockerid

# 如果报错: docker: Error response from daemon: No command specified.
# 用下面这个命令查看command:
docker ps  --no-trunc
# 然后把查看到的command放到docker run的最后(代替/bin/bash)

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

查看云盘

docker volume ls

创建容器:

docker run --privileged --gpus device=all --shm-size 125G -p 宿主端口XX:容器端口6006 -p 宿主端口YY:容器端口22 -it -d -v sshfs-volume-datazoo:/home/yuqiao/ -w /home/yuqiao --name 容器名称 镜像名称:v1 bash

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/598435
推荐阅读
相关标签
  

闽ICP备14008679号