ubuntu20.04 服务器深度学习环境docker搭建

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、Ubuntu20.04安装
    • 1.下载Ubuntu镜像
    • 2.制作u盘启动盘
    • 3.给Ubuntu分配硬盘空间
    • 4.安装
      • 1.设置启动项
      • 2.安装设置
    • 5.启动系统后更新源(可更可不更)
      • 阿里云源
      • 清华大学源
  • 二、显卡驱动安装
    • 1.默认驱动安装
    • 2.在线安装
  • 三、搭建docker服务器
    • 1.安装docker
    • 2.搭建ssh-server
    • 3.出现docker :error response from daemon :unkonwn runtime specified nvidia


前言

例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。


提示:以下是本篇文章正文内容,下面案例可供参考

一、Ubuntu20.04安装

1.下载Ubuntu镜像

打开链接: link.进入页面后点击右边的Download按钮开始下载
ubuntu20.04 服务器深度学习环境docker搭建_第1张图片

2.制作u盘启动盘

(1)安装制作工具:UltraISO下载完成后安装 link.可下载试用
(2)准备格式化好的U盘
(3)打开安装好的UltraISO ,进入工作界面后,点击菜单栏文件 (F),在弹出的选项卡里点击打开ubuntu20.04 服务器深度学习环境docker搭建_第2张图片
(4)在弹出的文件选择对话框中找到下载好的镜像文件,打开后如下图所示:
ubuntu20.04 服务器深度学习环境docker搭建_第3张图片
(5)点击菜单栏上的启动,在弹出的选项卡里点击写入硬盘映像
ubuntu20.04 服务器深度学习环境docker搭建_第4张图片
(6)在弹出的新窗口中,1)硬盘驱动器:选择刚刚插入的U盘 2)写入方式:设置为USB-HDD+,3)其余需要勾选的不管,采用默认的设置就行,然后可以格式化一下,4)点击最下面一栏的写入按钮。
ubuntu20.04 服务器深度学习环境docker搭建_第5张图片
(7)写入完成界面如下
ubuntu20.04 服务器深度学习环境docker搭建_第6张图片
U盘启动制作完成

3.给Ubuntu分配硬盘空间

(1)鼠标右键计算机,在弹出来选项卡中选择管理,接着在弹出来的窗口左侧点击 存储/磁盘管理,进入磁盘管理界面,如下图所示:
ubuntu20.04 服务器深度学习环境docker搭建_第7张图片
(2)在你要安装的目标磁盘中,通过删除卷和删除分区操作腾出一块未分配的磁盘空间作为安装区,我要安装的位置是 磁盘0,所以我在 磁盘0中整合出了 512GB 的空间用来安装 Ubuntu20.04(安装区的大小依磁盘总的空间以及你的需要而定)

4.安装

1.设置启动项

(1)关闭你要安装 Ubuntu20.04主机,然后插入启动盘,接着开机,迅速的按住 F2直到进入 bios 设置界面,通过方向键选择Boot Menu,然后回车(主机一般为 F12 或者 Delete 键)本人联想笔记本为F2。
(2)进入Boot Manager后,选择 EFI USB 作为启动项,回车。
ubuntu20.04 服务器深度学习环境docker搭建_第8张图片
(3)进入安装程序,选择 Install Ubuntu, 回车直接安装。
ubuntu20.04 服务器深度学习环境docker搭建_第9张图片

2.安装设置

(1)选择语言 中文简体,倒数第三个
(2)键盘布局 chinese
(3)无线连接 先选择不连接
(4)更新选项 选择最小安装和正常安装都可以

(5)安装类型
方便系统后期的管理。我们选择第三个选项 其他选项 ,然后点击 继续,进行手动分区

接下来需要我们手动分区,前面我们给在磁盘0给 Ubuntu20.04 预留了 512GB 的磁盘空间,下面对这 512GB 的空间进行分区。
(1)首先鼠标选中预留的空闲磁盘,点左下角的+ 创建分区
ubuntu20.04 服务器深度学习环境docker搭建_第10张图片
(2)这里首先分配EFI系统(500M),其次交换空间,一般设置为内存大小,(例如:本机内存为16GB),swap交换空间也设置为16GB
,最后所有空间分配给ext4 文件系统下的 / (至于主分区和逻辑分区,我在这里EFI系统,swap交换空间,/ 都选择的主分区)
(3)安装启动引导器的选择,就选前面我们给 Ubuntu20.04 预留了 512GB 的磁盘空间的磁盘0
(4)后面的都默认走到底,最后重启电脑

5.启动系统后更新源(可更可不更)

Ubuntu 官方源服务器在欧洲,国内访问很慢。所以这里有必要将软件源更换为国内的源,
国内源很多,在这里我们选择阿里云与清华大学的 Ubuntu 源(二选一即可)

阿里云源

deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
測試版源
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
源碼
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
測試版源
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse

清华大学源

deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
測試版源
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
源碼
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
測試版源
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse

(1)Ubuntu 的源存放在在 /etc/apt/ 目录下的 sources.list 文件中,修改前我们先备份,在终端中执行以下命令

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bcakup

(2)然后执行下面的命令打开 sources.list 文件,清空里面的内容,把上面阿里云与清华大学的 Ubuntu 源复制进去,保存后退出

sudo gedit /etc/apt/sources.list

(3)接着在终端上执行以下命令更新软件列表,检测出可以更新的软件:

sudo apt-get update

(4)最后在终端上执行以下命令进行软件更新:
表,检测出可以更新的软件:

sudo apt-get upgrade

二、显卡驱动安装

1.默认驱动安装

设置—>全部软件 找到livepatch 随便选择一个,应用更改
ubuntu20.04 服务器深度学习环境docker搭建_第11张图片
若重启后出现perform mok management
选择enroll mok ->continue->yes->安装驱动时输入的密码->reboot

2.在线安装

(1)打开终端(ctrl+alt+T)屏蔽ubuntu自带的开源驱动nouveau

sudo gedit /etc/modprobe.d/blacklist-nouveau.conf

(2)在打开的空白文件中写入一下内容并保存

blacklist nouveau
blacklist lbm-nouveau
options nouveau modeset=0
alias nouveau off
alias lbm-nouveau off

(3)然后在终端中执行

echo options nouveau modeset=0 | sudo tee -a /etc/modprobe.d/nouveau-kms.conf
sudo update-initramfs -u
lsmod | grep nouveau

(4)安装n卡驱动
关闭图形界面

sudo /etc/init.d/lightdm stop

添加ppa源并更新缓存

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update

安装驱动

sudo apt-get install nvidia-xxx***

xxx是版本号,可以在打完前面的之后摁Tab,会问你要不要看有那些版本
重新打开图形界面

sudo /etc/init.d/lightdm start

重启,然后就ok了 nvidia-smi查看

三、搭建docker服务器

1.安装docker

1.点击链接link. 选择Dcos
ubuntu20.04 服务器深度学习环境docker搭建_第12张图片
2.download and install
ubuntu20.04 服务器深度学习环境docker搭建_第13张图片
3.docker for linux
ubuntu20.04 服务器深度学习环境docker搭建_第14张图片
4.选择ubuntu
ubuntu20.04 服务器深度学习环境docker搭建_第15张图片
5.开始安装
更改管理员权限密码,进入管理员根目录下

sudo passwd root
su root

(1)Uninstall old versions

sudo apt-get remove docker docker-engine docker.io containerd runc

(2)Update the apt package index and install packages to allow apt to use a repository over HTTPS:

sudo apt-get update
sudo apt-get install \
    ca-certificates \
    curl \
    gnupg \
    lsb-release

(3)Add Docker’s official GPG key

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

(4)Use the following command to set up the stable repository. To add the nightly or test repository, add the word nightly or test (or both) after the word stable in the commands below. Learn about nightly and test channels.

echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

(5)Verify that Docker Engine is installed correctly by running the hello-world image.

sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io

若没有出现更新问题,直接进入步骤(6)
1) 若kail升级报错:"E: 仓库 “https://download.docker.com/linux/debian kali-rolling Release” 没有 Release 文件。
解决方案

root@brother:~# cd /etc/apt/sources.list.d
root@brother:/etc/apt/sources.list.d# ls
docker.list
root@brother:/etc/apt/sources.list.d# rm docker.list 
root@brother:/etc/apt/sources.list.d# apt-get update && apt-get upgrade

2)Ubuntu执行apt-get update报错:W: 无法下载 http://cn.mirrors.ustc.edu.cn/ubuntu/dists/bionic/InRelease 连接失败
原因:这是因为软件源使用的是国外源。
解决方案:
找到软件源文件sources.list的位置
root根目录下

cd /etc/apt/

备份sources.list

sudo tar -zcvf sources.list.tar.gz sources.list

备份完成后,打开软件源文件进行更改,下图是把软件源修改为阿里软件源。修改完成后保存即可
我是将所有的cn.archive.ubuntu.com 都替换为了阿里镜像。其余没动。
ubuntu20.04 服务器深度学习环境docker搭建_第16张图片
修改完成后使用sudo apt-get update命令进行更新软件源即可

sudo apt-get update

(6)install docker engine

sudo docker run hello-world

通过docker ps -a 查看是否安装成功

2.搭建ssh-server

(1)安装ssh 服务

sudo apt-get install openssh-client 
sudo apt-get install openssh-server

(2)查看ssh是否启动

ps -e|grep ssh
 2151 ?        00:00:00 ssh-agent------对应客户端
 5313 ?        00:00:00 sshd------------对应服务器端

(3)xshell 连接
服务器端:查看ipv4网络地址

ifconfig -a 如:192.168.1.28

客户端:输入主机号192.168.1.28点击连接,用户账号和密码
ubuntu20.04 服务器深度学习环境docker搭建_第17张图片
(4)Xshell连接时显示“服务器发送了一个意外的数据包。received:3,expected:20“问题的
ubuntu20.04 服务器深度学习环境docker搭建_第18张图片

解决方法:(vim修改文本操作,按i:输入,输入完成后,enter结束,:wq!保存退出)

服务器端根目录下
cd /etc/ssh/
sudo apt install vim
vim sshd_config
#最后一行添加
KexAlgorithms curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group14-sha1

然后重启sshd服务或者重载服务配置文件,命令如下

systemctl restart sshd
service sshd restart

(5)再次xshell连接

客户端通过 如下搭建个人docker 三个端口号121001210112102,可随即设置,不超过65536即可
#/home/NAS_public_data/wangshao/为服务器文件夹,后面的wangshao 为客户端个人docker映射到服务器的文件夹
#nvcr.io/nvidia/pytorch:20.07-py3为深度学习镜像
docker run -it --runtime=nvidia --name=容器名 -p 12100:8888 -p 12101:6006 -p 12102:8008 -v /home/NAS_public_data/wangshao/:/wangshao nvcr.io/nvidia/pytorch:20.07-py3

3.出现docker :error response from daemon :unkonwn runtime specified nvidia

sudo apt-get install -y nvidia-docker2
sudo pkill -SIGHUP dockerd
sudo systemctl restart docker

若nvidia-docker2安装失败

curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey |   sudo apt-key add -
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list |   sudo tee /etc/apt/sources.list.d/nvidia-docker.list
sudo apt-get update
sudo apt-get install -y nvidia-docker2
sudo pkill -SIGHUP dockerd
sudo systemctl restart docker

你可能感兴趣的