先安装docker
Install Docker Engine on Ubuntu | Docker Documentation
再安装nvidia-docker
https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html#docker
docker hub地址为:
https://hub.docker.com/
可以从docker hub种下载镜像,
docker pull 镜像名
运行docker:
docker run --runtime=nvidia --rm 0it -v /home:/home -p 10022:22 镜像名
-v /home:/home指的是将宿主机的目录mount到docker种
-p 为端口映射
这样就创建了一个容器可是还是连接不上ssh,还需要安装其它的依赖
apt-get update
apt-get install passwd openssl openssh-server openssh-clients
还需要修改一下密码,命令行中输入,可以设置一个密码。比如123456
passwd
但这样依然无法连接,查阅相关资料后,需要修改一下配置,把注释掉的改了或者把no改成yes。
vim /etc/ssh/sshd_config
PubkeyAuthentication yes #启用公钥私钥配对认证方式
PermitRootLogin yes #root能使用ssh登录
port=22 #开启22端口
如果连接失败,就输入下面这句话重新尝试,尝试成功后将这句话放到~/.bashrc中
/etc/init.d/ssh restart
source ~/.bashrc
docker宿主机连接方式为:
ssh -p 10022 root@127.0.0.1
其它电脑连接方式为:
ssh -p 10022 root@宿主机ip
安装pytorch在官网PyTorch找对应的命令
Previous PyTorch Versions | PyTorch
用pip安装,如:
pip install torch==1.8.0+cu111 torchvision==0.9.0+cu111 torchaudio==0.8.0 -f https://download.pytorch.org/whl/torch_stable.html
注意cuda和cudnn对应版本
安装tensorflow直接用pip安装
tensorflow2.0的cpu版和gpu没有区分,直接用以下命令即可:
pip install tensorflow
tensorflow1.x的cpu版和gpu有区分,安装gpu版本用以下命令:
pip install tensorflow-gpu
apt-get install xfce4
apt-get install xubuntu-desktop
apt-get install xrdp
echo “xfce4-session” > ~/.xsession
service xrdp restart
rm /var/run/xrdp/xrdp.pid
rm /var/run/xrdp/xrdp-sesman.pid
service xrdp restart
docker run --runtime=nvidia --rm -it -v /home:/home -p 10022:22 -p 10055:3389 f2b554485294
docker run --runtime=nvidia --gpus all --rm -it --shm-size=“15g” -v /home:/home -p 10022:22 -p 10055:3389 6abbaa7d9439 /bin/bash
可以用screen工具创建界面来执行上述命令
创建界面:
screen -s 111
回到界面:
screen -rd 111
远程桌面闪退,shell可以用的问题:
(1)需要在该用户目录创建一个.xsession:touch .xsession
(2)里面写“xfce4-session”一句话就行:echo xfce4-session >~/.xsession 。
(3)然后进入到用户目录下,sudo chown root:root .xsession
docker save imageID > filename
docker load < filename
通过image保存的镜像会保存操作历史,可以回滚到历史版本。
保存,加载容器命令:
docker export containID > filename
docker import filename [newname]
通过容器保存的镜像不会保存操作历史,所以文件小一点。
如果要运行通过容器加载的镜像, 需要在运行的时候加上相关命令。