docker配置深度学习环境及ssh

安装nvidia-docker

先安装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 镜像名

SSH连接docker中的container

运行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 [email protected]

其它电脑连接方式为:

ssh -p 10022 root@宿主机ip

安装pytorch和tensorflow

安装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

安装远程桌面lightdm

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]

通过容器保存的镜像不会保存操作历史,所以文件小一点。
如果要运行通过容器加载的镜像, 需要在运行的时候加上相关命令。
 

猜你喜欢

转载自blog.csdn.net/qq_27403925/article/details/121777674
今日推荐