现在官网针对的是6.0 版本的安装
一. 预安装软件依赖项
1. 依赖项安装
apollo/docs/specs/prerequisite_software_installation_guide.md
# 1. pre sudo apt-get update sudo apt-get upgrade # 2. nvidia gpu driver sudo apt-get update sudo apt-add-repository multiverse sudo apt-get update sudo apt-get install nvidia-driver-455 # 大概700m+, 安装后用nvidia-smi 测试, nvidia gpu 驱动,不跑感知,不用cuda 可不装 # 3. docker curl https://get.docker.com | sh # use office scripts install sudo systemctl start docker && sudo systemctl enable docker # autostart
2. docker 测试, sudo 为必须的
sudo docker run hello-world # sudo 是必须的, 第一次会先下载hello-world 镜像 docker run hello-world # 如下为报错内容 #Got permission denied while trying to connect to the Docker daemon socket at #unix:///var/run/docker.sock: Get #"http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/json?all=1": dial unix #/var/run/docker.sock: connect: permission denied
3. 让docker 以 non-root 权限运行
sudo groupadd docker # 新建docker用户组 sudo usermod -aG docker $USER # 将当前用户加入docker 用户组 # reboot pc
4. 安装nvidia container toolkit
! 大坑, 没有nv GPU, 不要安装driver + toolkit, 要不然下一步创建容器会失败!
# 4. nvidia container toolkit 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 sudo apt-get -y update sudo apt-get install -y nvidia-docker2 # 5. restart docker sudo systemctl restart docker
二. 安装apollo
1. 源码下载
git clone git@github.com:ApolloAuto/apollo.git
切6.0 分支
apollo 代码下载非常耗时, 大概> 30min, 202205 下载总大小 2.48G
这时只是下载,还没有构建
export APOLLO_ROOT_DIR=
2. 启动Apollo 开发容器
## 启动容器会先下载镜像, 所以这一步也是非常耗时的 ## 镜像下载完成后,后面就不耗时了 ## 下载的镜像存放在我们电脑路径是/var/lib/docker ## 下载镜像结束后,并运行容器 # 先切换目录 cd apollo # 两种方式启动开发容器 # 1. CyberRT + ? ./docker/scripts/dev_start.sh # 2. 仅仅启动CyberRT; 仅仅使用cyber_start 下载镜像总共5G ./docker/scripts/cyber_start.sh # 指定 国内, 速度更快 ./docker/scripts/cyber_start.sh -g cn # 这里建议直接用dev_start, 因为这个容器是完整的, 这样就只有一个容器。
3. 进入Apollo Docker 开发容器
第2步开发容器后,执行下述命令
# 完整容器 ./docker/scripts/dev_into.sh # 只进入cyber 容器, 这个和前一步下载镜像启动容器, 对应 ./docker/scripts/cyber_info.sh
4. 在容器中构建apollo
## 第一次构建是非常耗时的 ## 如果有权限异常,则前面+sudo # 构建整个apollo ./apollo.sh build # 对于cpu 的电脑, 建议使用./apollo.sh build_opt # 构建apollo 某个模块 ./apollo.sh build cyber ## 测试cyber example vim cyber/setup.bash export GLOG_alsologtostderr=1 source cyber/setup.bash # demo ./bazel-bin/cyber/example/talker ./bazel-bin/cyber/example/listener
三、
apollo/data/log 和容器内部 有映射
四、如何杀死后台程序
kill -9 `ps -ef|grep 《node_name》 |grep -v grep|awk '{print $2}'| xargs`
五、保存容器
容器保存在/var/lib/docker, 但是不会用名字表示出来,如何保存目前容器呢
docker save -o dev-x86_64-18.04-20220528_2.tar.gz e1359ff08479



