Docker部署ubuntu18.04深度学习环境

1. 查看CUDA版本

<span class="token function">cat</span> /usr/local/cuda/version.txt
<span class="token function">cat</span> /usr/local/cuda/version.txt 
cat /usr/local/cuda/version.txt

2. 查看cudnn版本

<span class="token function">cat</span> /usr/local/cuda/include/cudnn.h <span class="token operator">|</span> <span class="token function">grep</span> CUDNN_MAJOR -A <span class="token number">2</span>
<span class="token function">cat</span> /usr/local/cuda/include/cudnn.h <span class="token operator">|</span> <span class="token function">grep</span> CUDNN_MAJOR -A <span class="token number">2</span> 
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

下图中6为版本
在这里插入图片描述
Pull Docker image
1. 拉

<span class="token function">docker</span> pull nvidia/cuda:11.1-cudnn8-devel-ubuntu18.04
<span class="token function">docker</span> pull nvidia/cuda:11.1-cudnn8-devel-ubuntu18.04 
docker pull nvidia/cuda:11.1-cudnn8-devel-ubuntu18.04

2. 查

<span class="token function">docker</span> images
<span class="token function">docker</span> images 
docker images

3. 启动(添加端口映射)

<span class="token function">sudo</span> <span class="token function">docker</span> run -it --name algorithm -v /data/algorithm:/data/algorithm -p <span class="token number">8080</span>:22 --runtime<span class="token operator">=</span>nvidia -e <span class="token assign-left variable">NVIDIA_VISIBLE_DEVICE</span><span class="token operator">=</span>all nvidia/cuda:11.1-cudnn8-devel-ubuntu18.04
<span class="token function">sudo</span> <span class="token function">docker</span> run -it --name algorithm -v /data/algorithm:/data/algorithm -p <span class="token number">8080</span>:22 --runtime<span class="token operator">=</span>nvidia -e <span class="token assign-left variable">NVIDIA_VISIBLE_DEVICE</span><span class="token operator">=</span>all nvidia/cuda:11.1-cudnn8-devel-ubuntu18.04 
sudo docker run -it --name algorithm -v /data/algorithm:/data/algorithm -p 8080:22 --runtime=nvidia -e NVIDIA_VISIBLE_DEVICE=all nvidia/cuda:11.1-cudnn8-devel-ubuntu18.04

进入镜像

<span class="token function">docker</span> <span class="token builtin class-name">exec</span> -it algorithm /bin/bash
<span class="token function">docker</span> <span class="token builtin class-name">exec</span> -it algorithm /bin/bash 
docker exec -it algorithm /bin/bash

不停止 退出镜像

ctrl p + ctrl q
ctrl p + ctrl q 
ctrl p + ctrl q

测试显卡驱动

nvidia-smi
nvidia-smi 
nvidia-smi

在这里插入图片描述
问题一
docker中无法用sudo
解决方法

<span class="token function">apt-get</span> update <span class="token function">apt-get</span> <span class="token function">install</span> <span class="token function">sudo</span>
<span class="token function">apt-get</span> update <span class="token function">apt-get</span> <span class="token function">install</span> <span class="token function">sudo</span> 
apt-get update apt-get install sudo

问题二
pip更新为清华源

pip3 config <span class="token builtin class-name">set</span> global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
pip3 config <span class="token builtin class-name">set</span> global.index-url https://pypi.tuna.tsinghua.edu.cn/simple 
pip3 config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

问题三
安装opencv
首先更换清华源
之后:

<span class="token function">apt-get</span> update <span class="token operator">&&</span> <span class="token function">apt-get</span> <span class="token function">install</span> -y python3-opencv
<span class="token function">apt-get</span> update <span class="token operator">&&</span> <span class="token function">apt-get</span> <span class="token function">install</span> -y python3-opencv 
apt-get update && apt-get install -y python3-opencv

问题四 安装git

<span class="token function">sudo</span> <span class="token function">apt-get</span> <span class="token function">install</span> <span class="token function">git</span>
<span class="token function">sudo</span> <span class="token function">apt-get</span> <span class="token function">install</span> <span class="token function">git</span> 
sudo apt-get install git

问题五 安装vim

<span class="token function">sudo</span> <span class="token function">apt-get</span> <span class="token function">install</span> vim-gtk
<span class="token function">sudo</span> <span class="token function">apt-get</span> <span class="token function">install</span> vim-gtk 
sudo apt-get install vim-gtk

清华源(Ubuntu 18.04)

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
 deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse  deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse  deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse  deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse     
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse

Pycharm 远程连接 Docker

1. 更新容器的apt源,安装ssh和vim

<span class="token function">apt-get</span> update <span class="token function">apt-get</span> <span class="token function">install</span> openssh-server <span class="token function">apt-get</span> <span class="token function">install</span> <span class="token function">vim</span>
<span class="token function">apt-get</span> update <span class="token function">apt-get</span> <span class="token function">install</span> openssh-server <span class="token function">apt-get</span> <span class="token function">install</span> <span class="token function">vim</span> 
apt-get update apt-get install openssh-server apt-get install vim

2. 使用vim打开并修改配置文件,找到PermitRootLogin prohibit-password这一行,修改为PermitRootLogin yes,允许通过ssh远程访问docker。

<span class="token function">vim</span> /etc/ssh/sshd_config
<span class="token function">vim</span> /etc/ssh/sshd_config 
vim /etc/ssh/sshd_config

3. 创建docker中root用户的密码。

<span class="token function">passwd</span> root
<span class="token function">passwd</span> root 
passwd root

4. 启动ssh服务,至此,服务器端配置完毕。

<span class="token function">service</span> <span class="token function">ssh</span> restart
<span class="token function">service</span> <span class="token function">ssh</span> restart 
service ssh restart

vim全部删除:按esc后,然后dG
全选(高亮显示):按esc后,然后ggvG或者ggVG

原文链接:https://blog.csdn.net/smallEngineer/article/details/125817770

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享