Ubuntu18.04 Apollo下载与安装 Docker engine安装 Nvidia container tookit安装


参考: 【Docker】Docker及Nvidia Container Toolkit安装

1 安装前准备

根据官方给定的教程Apollo github的REMADE.md页来一步步安装。在该页面下,找到“Installation安装”标题,该标题下分别是:
硬件安装指南
软件安装指南-这一步是必需的
启动并运行 Apollo
在这里插入图片描述
点开Software installation guide,进入apollo软件安装教程页面。在该页面中,第一步是前往Pre-requisite Software Installation Guide确认安装apollo所需要的先决条件。

2 先决条件

Pre-requisite Software Installation Guide页面内,说明apollo安装前需要已经安装好如下所示四个系统/驱动:
Installing Ubuntu Linux
Installing NVIDIA GPU Driver
Installing Docker Engine
Installing NVIDIA Container Toolkit
在这里插入图片描述

首先,我已经安装了ubuntu 18.04,所以需要安装其余3个。

2.1 Nvidia GPU Driver安装

首先安装显卡驱动。打开ubuntu中的“软件和更新”软件,点击界面中的“附加驱动”便会显示当前系统内核支持的GPU驱动版本,选中其中一个驱动后,点击“应用更改”便会自动安装好该版本驱动。这种方法不用去官网下载驱动包来命令安装,比较简单。最后,重启后输入nvidia-smi来看是否有显示当前驱动的相关信息。
在这里插入图片描述

2.2 Docker engine安装

Docker engine的安装非常简单,不需要apollo安装教程中那么复杂。直接在terminal中输入如下命令安装:

sudo apt install docker.io

安装完成后,创建docker组,并将当前用户加入组中,后续就可以以用户身份操作docker而不是root,命令如下:

sudo groupadd docker
sudo usermod -aG docker $USER

其他博客中建议将docker的自动版本更新给关掉,避免docker与container toolkit的版本不匹配而报错。关闭自动更新的命令为:

service docker start # 启动docker
systemctl unmask docker.service
systemctl unmask docker.socket
systemctl start docker.service 
service docker start  # 重新启动docker
docker run hello-world  # 抓取default的镜像image创建container用于测试docker是否安装成功
docker --version # 查看docker版本

2.3 Nvidia container toolkit 安装

Nvidia container toolkit是nvidia公司提供的docker创建的container(容器)内用的GPU驱动,让容器内也能够调用GPU。官方安装教程中可以找到Installation guide,再找到标题“Installing on Ubuntu and Debian¶”即可按该标题下步骤安装。

不想看官方教程,可以直接输入如下命令安装:

# 设置base存储库和 GPG 密钥:
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - \
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list

该命令成功后可以查看cat /etc/apt/sources.list.d/nvidia-docker.list,文个中会有如下内容:

deb https://nvidia.github.io/libnvidia-container/stable/ubuntu16.04/$(ARCH) /
#deb https://nvidia.github.io/libnvidia-container/experimental/ubuntu16.04/$(ARCH) /
deb https://nvidia.github.io/nvidia-container-runtime/stable/ubuntu16.04/$(ARCH) /
#deb https://nvidia.github.io/nvidia-container-runtime/experimental/ubuntu16.04/$(ARCH) /
deb https://nvidia.github.io/nvidia-docker/ubuntu16.04/$(ARCH) /

更新包列表后安装 nvidia-docker2 包(和依赖项):

sudo apt-get update # 更新软件列表
sudo apt-get install -y nvidia-docker2
sudo systemctl restart docker # 重启Docker守护进程完成安装
sudo docker run --rm --gpus all nvidia/cuda:11.0-base nvidia-smi # 运行CUDA 11.0-base 容器来测试是否安装成功

测试成功会有如下输出

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 450.51.06    Driver Version: 450.51.06    CUDA Version: 11.0     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  Tesla T4            On   | 00000000:00:1E.0 Off |                    0 |
| N/A   34C    P8     9W /  70W |      0MiB / 15109MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|  No running processes found                                                 |
+-----------------------------------------------------------------------------+

3 下载安装apollo

3.1 下载

输入如下代码克隆apollo到本地(为了加速下载,加上了github代理的前缀https://ghproxy.com/)

# Using HTTPS
git clone https://ghproxy.com/https://github.com/ApolloAuto/apollo.git

等待下载完成之后,apollo文件夹便出现在home目录下
在这里插入图片描述
Checkout the latest branch:

cd apollo
git checkout master

终端中输入如下命令,添加apollo根目录的环境变量:

echo "export APOLLO_ROOT_DIR=$(pwd)" >> ~/.bashrc  && source ~/.bashrc

或者,先在txt中打开.bashrc,直接在里面最后一行添加export APOLLO_ROOT_DIR=$(pwd),最后source一下也行:

sudo gedit ~/.bashrc

在这里插入图片描述

source ~/.bashrc

3.2 构建安装apollo

在apollo根目录下,构建apollo开发的docker容器:

# 切换到apollo根目录
cd apollo
# 拉取apollo镜像并构建容器
bash docker/scripts/dev_start.sh

进入新启动的docker容器:

bash docker/scripts/dev_into.sh

然后,从/apolloApollo Docker 容器内的目录中,输入如下命令编译apollo源代码(安装):

./apollo.sh build # 编译apollo源代码

或输入

./apollo.sh build_opt # 优化编译

或输入

./apollo.sh build_opt_gpu # 采用gpu优化编译

4 启动apollo

可以前往如何启动和运行Apollo查看官方教程。

重启terminal, 按如下命令启动:

bash docker/scripts/dev_start.sh -g cn  # 启动容器    -g cn代表从国内镜像抓取
bash docker/scripts/dev_into.sh   # 进入容器 
scripts/bootstrap.sh start # 开启dreamviewer

在终端中输入scripts/bootstrap.sh将在启用监视器模块的情况下启动 Dreamview 后端,在浏览器中输入http://localhost:8888即可打开Dreamview Web UI。

# Startup modules monitor and dreamview, the default option is start.
./scripts/bootstrap.sh [start | stop | restart]

打开recorder

在DreamView界面的对应下拉框中,选择驾驶模式为“Mkz Standard Debug”,选择车型为“Lincoln2017MKZLGSVL”,选择地图为“Sunnyvale with Two Offices”。执行操作如下:

cyber_recorder play -f docs/demo_guide/demo_3.5.record -l

按Ctrl+C 停止recorder。

最后,退出容器,停止所有容器:

exit
docker stop $(docker ps -aq)

猜你喜欢

转载自blog.csdn.net/qq_41690864/article/details/119580771
今日推荐