官方参考文档【点击我】
Apollo 10.0 版本开始,支持本机和Docker容器两种部署方式。
如果您使用本机部署方式,建议使用x86_64架构的Ubuntu 22.04操作系统或者aarch64架构的Ubuntu 20.04操作系统。
如果您使用Docker容器部署方式,可以使用x86_64架构的Ubuntu 18.04、20.04、22.04 操作系统或者aarch64架构的Ubuntu 20.04操作系统。
本文使用Docker容器部署,操作系统为Ubuntu 20.04。
步骤一:安装基础软件
1. 安装 Ubuntu Linux
目前 Apollo 支持 Ubuntu 18.04 Ubuntu 20.04 以及 Ubuntu 22.04
更新相关软件:
sudo apt-get update
sudo apt-get upgrade
更新过程中可能出现下载速度超级慢的问题或者以下错误:
Error1:sudo apt-get install 出现无法定位软件包问题
Error2:仓库xxx没有release文件/不再含有release文件
一种快速解决方法就是换源:
这里使用的是清华源【点击我】,进入之后页面如下
具体修改/etc/apt/sources.list文件,我的配置如下:
# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb http://archive.ubuntu.com/ubuntu/ trusty main universe restricted multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
# 以下安全更新软件源包含了官方源与镜像站配置,如有需要可自行修改注释切换
# deb http://security.ubuntu.com/ubuntu/ focal-security main restricted universe multiverse
# deb-src http://security.ubuntu.com/ubuntu/ focal-security main restricted universe multiverse
# 预发布软件源,不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-proposed main restricted universe multiverse
# # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-proposed main restricted universe multiverse
2. 安装 Docker Engine
Apollo 依赖于 Docker 19.03+。安装 Docker 引擎,您可以根据官方文档进行安装:
- 参见 Install Docker Engine on Ubuntu。
- 或者通过 Apollo 提供的安装脚本直接安装:
wget http://apollo-pkg-beta.bj.bcebos.com/docker_install.sh
bash docker_install.sh
使用Apollo 提供的安装脚本直接安装可能会出现错误,可以采用自己手动安装进行配置
Docker Engine手动安装
1.更新软件包
sudo apt update
2.安装依赖包
sudo apt install apt-transport-https ca-certificates curl software-properties-common
3.添加Docker官方GPG密钥
sudo -i
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | gpg --dearmor -o /etc/apt/trusted.gpg.d/docker-ce.gpg
4.验证,0EBFCD88 是公钥的指纹。执行这个命令后,系统会显示与该指纹相关的公钥信息
sudo apt-key fingerprint 0EBFCD88
5.添加Docker阿里稳定版软件源
sudo add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
6.再次更新软件包
sudo apt update
7.安装默认最新版
sudo apt install docker-ce docker-ce-cli containerd.io
安装特定版docker:
sudo apt-cache madison docker-ce # 显示可用版本
sudo apt-get install docker-ce=<VERSION_STRING> docker-ce-cli=<VERSION_STRING> containerd.io # 将需要的版本替换VERSION_STRING
8.测试,安装好后默认启动
sudo docker run hello-world
如果输出“Hello from Docker!”则表示Docker已经成功安装。
但是这一部分是大概率不能成功的:
Unable to find image 'hello-world:latest' locally
docker: Error response from daemon: Get "https://registry-1.docker.io/v2/": dial tcp 4.78.139.54:443: connect: connection refused.
See 'docker run --help'.
因为一般这种情况就是因为docker默认的镜像源是Dockerhub,而这个网站在域外。所以和Ubuntu换国内源一样,我们也可以对docker换国内镜像源。参考:https://blog.csdn.net/Lichen0196/article/details/137355517 和
https://www.cnblogs.com/OneSeting/p/18532166
9.查看有哪些镜像
sudo docker images
10.配置用户组(给当前用户分配docker权限)
创建docker用户组:
sudo groupadd docker
添加当前用户到docker组:
sudo usermod -aG docker 【用户】
重启或者执行命令使之生效:
newgrp docker
测试是否可以免sudo运行
docker run hello-world
11.配置开机自启动
启动:sudo systemctl start docker
开机自启:sudo systemctl enable docker && sudo systemctl enable containerd.service
步骤二(可选):获取 GPU 支持
Apollo某些模块需要GPU的支持才能够编译、运行(例如感知模块),如果您需要使用此类模块,需要安装Nvidia显卡驱动以及Nvidia container toolkit以获取GPU支持。
只适用于ubuntu系统,虚拟机无法安装显卡驱动,wsl请自行上网搜索 注意:如果您之前已经安装过Nvidia显卡驱动,即往终端输入
nvidia-smi
能够正常输出,可以跳过1.安装显卡驱动
小节
1.安装驱动
从 Apollo 10.0 开始,CUDA 最低版本要求为 11.8
,因此推荐使用 520.61.05
以上版本的驱动,CUDA 版本与 驱动版本的兼容信息可参考 Nvidia 官方文档 。 显卡驱动和CUDA版本兼容性,由于nvidia的硬件更新的很快,因此会遇到显卡驱动和CUDA版本不兼容的情况,以下为我们测试的畅通链路。
您可以通过 Nvidia 官网来下载驱动 nvidia-driver-535.179
下载之后,找到相应的文件夹打开终端输入安装指令:
以 NVIDIA-Linux-x86_64-535.179.run
为例
sudo chmod 777 NVIDIA-Linux-x86_64-535.179.run
suod ./NVIDIA-Linux-x86_64-535.179.run
安装完毕后,您可以通过 nvidia-smi 指令来检查驱动是否安装成功,如果一切正常,您可以看到类似以下的提示:
Mon Nov 11 16:35:59 2024
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 555.42.06 Driver Version: 555.42.06 CUDA Version: 12.5 |
|-----------------------------------------+------------------------+----------------------+
| 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 NVIDIA GeForce RTX 2070 ... Off | 00000000:06:00.0 Off | N/A |
| 30% 36C P8 4W / 215W | 200MiB / 8192MiB | 0% Default |
| | | N/A |
+-----------------------------------------+------------------------+----------------------+
+-----------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=========================================================================================|
| 0 N/A N/A 1095 G /usr/lib/xorg/Xorg 35MiB |
| 0 N/A N/A 1972 G /usr/lib/xorg/Xorg 94MiB |
| 0 N/A N/A 2102 G /usr/bin/gnome-shell 59MiB |
+-----------------------------------------------------------------------------------------+
2. 安装 Nvidia container toolkit
为了在容器内获得 GPU 支持,在安装完 docker 后需要安装 NVIDIA Container Toolkit。 运行以下指令安装 NVIDIA Container Toolkit:
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
&& curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
sudo apt-get -y update
sudo apt-get install -y nvidia-container-toolkit
注意,这一步可能出现错误,如若不能够解决,可以采取手动安装方式
安装完毕后,配置 NVIDIA Container Toolkit
sudo nvidia-ctk runtime configure --runtime=docker
配置完成后重启docker
sudo systemctl restart docker
手动安装 Nvidia container toolkit
本节参考博客【点击我】
-
下载安装包,进入此链接【请点击我】下载以下文件链接:
-
安装下载包,终端切换到下载目录下,执行以下命令安装:
dpkg -i ./lib* ./nvidia*
-
重新加载daemon文件和docker
systemctl daemon-reload systemctl restart docker
-
查看nvidia-docker 版本
nvidia-docker -v nvidia-docker version
-
修改/etc/docker/daemon.json,如下:
{ "default-runtime": "nvidia", "runtimes": { "nvidia": { "path": "nvidia-container-runtime", "runtimeArgs": [] } } }
步骤三:安装 Apollo 环境管理工具
Apollo 环境管理工具是一个帮忙管理和启动 Apollo 环境的命令行工具。
1. 安装依赖软件
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
2. 在宿主机添加 Apollo 软件源的 gpg key,并设置好源和更新
# 添加 gpg key
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://apollo-pkg-beta.cdn.bcebos.com/neo/beta/key/deb.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/apolloauto.gpg
sudo chmod a+r /etc/apt/keyrings/apolloauto.gpg
# 设置源并更新
echo \
"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/apolloauto.gpg] https://apollo-pkg-beta.cdn.bcebos.com/apollo/core"\
$(. /etc/os-release && echo "$VERSION_CODENAME") "main" | \
sudo tee /etc/apt/sources.list.d/apolloauto.list
sudo apt-get update
3. 安装aem:
sudo apt install apollo-neo-env-manager-dev --reinstall
安装成功后即可使用
aem -h
至此,安装工作完成,后序就是下载工程等任务。
参考
- Apollo 自动驾驶开放平台
-
ubuntu20.04和Centos7离线安装docker及nvidia-container-toolkit
-
解决Error Get "https://registry-1.docker.io/v2/":环境报错问题