目录

  • 主要参考文档
  • 1 下载git
  • 2 使用git下载Apollo源码
  • 3 docker安装
  • 4 "Failed to pull docker image"
  • 5 为docker增加国内源
  • 6 进入容器
  • 7 编译
  • 8 Dreamview启动失败"Failed to start Dreamview"
  • 9 测试
  • 10 运行测试数据
  • 11 停止container
  • 12 再次进入container

主要参考文档

百度Apollo6.0(5.5)安装

1 下载git

参考文档

  • Linux/Ubuntu Git从安装到使用的方法步骤
  • Windows系统Git安装配置

该教程使用中,注意两个细节:

  1. “git pull --rebase origin master” ----不需要执行,因为自己新建的仓,是空的。其实后边也可以发现这个问题,是因为,以前的github的默认branch叫master,现在默认生成的叫main导致的。
  2. “git push origin master”—执行后,发现在github上,没有炸弹哦呵上传的hello.txt。后来发现这个问题和第一个问题一样,也是上传到新生成的master分支了,在github上选择master分支,看到了上传的hello.txt文件。

2 使用git下载Apollo源码


查看仓库地址:https://github.com/ApolloAuto/apollo.git
使用git指令进行下载:
$ git clone https://github.com/ApolloAuto/apollo.git
不过下载中,发现文件好大,大概2G了,其实还不如在这直接使用dowload zip。不过后边又试了一次,发现还是git给力,下载速度能达到5M/s,而直接下载zip,经常掉线,还速度慢,用迅雷还时不时下载一会就不让下载下载失败。

顺便也在windows下安装了git,方便使用。 Windows系统Git安装配置

3 docker安装

参考文档

  • Ubuntu Docker 安装

这里我们使用的是国内daocloud一键安装:

curl -sSL https://get.daocloud.io/docker | sh*

4 “Failed to pull docker image”

参考文档

  • docker 权限问题 Got permission denied while
  • linux用户添加到多个组
  • linux如何查看所有的用户和组信息?
$:~/test_git/apollo$ bash docker/scripts/dev_start.sh
[INFO] Use default GeoLocation settings
[INFO] Start pulling docker image apolloauto/apollo:dev-x86_64-18.04-20210204_2153 ...
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post http://%2Fvar%2Frun%2Fdocker.sock/v1.24/images/create?fromImage=apolloauto%2Fapollo&tag=dev-x86_64-18.04-20210204_2153: dial unix /var/run/docker.sock: connect: permission denied
[ERROR] Failed to pull docker image : apolloauto/apollo:dev-x86_64-18.04-20210204_2153

在执行"bash docker/scripts/dev_start.sh “时,报出了"Failed to pull docker image”。仔细查看错误信息"Got permission denied while trying to connect to the Docker daemon socket at unix:"。查到了上面的参考文档。应该是用户不在docker用户组导致的,需要将当前用户添加到docker组中。注意这里是将当前用户多增加一个组,不用弄成只分配到docker组。
由于通过查看,在前面本机在执行一键安装docker时,已经增加了docker组。通过

sudo gpasswd -a $USER docker  #将当前用户添加至docker用户组
newgrp docker                 #更新docker用户组

执行完毕,发现错误依旧,既然是权限错误,直接改为使用sudo 执行
"/apollo$ sudo bash docker/scripts/dev_start.sh "
发现能够执行了,但又产生了新的错误

$:~/test_git/apollo$ sudo bash docker/scripts/dev_start.sh
[INFO] Use default GeoLocation settings
[INFO] Start pulling docker image apolloauto/apollo:dev-x86_64-18.04-20210204_2153 ...
dev-x86_64-18.04-20210204_2153: Pulling from apolloauto/apollo
f22ccc0b8772: Pulling fs layer
3cf8fb62ba5f: Download complete
e80c964ece6a: Download complete
8a451ac89a87: Waiting
c563160b1f64: Waiting
596a46902202: Waiting
aa0805983180: Waiting
5718c3da35a0: Waiting
ecaecc0c2072: Waiting
dd7b324046d3: Waiting
c71390291a7c: Waiting
5392f106e19b: Waiting
error pulling image configuration: Get https://production.cloudflare.docker.com/registry-v2/docker/registry/v2/blobs/sha256/45/452c5e3fbf61d32edb3e24e924208e6b791242dca7e184a7c5d92a12a852655f/data?verify=1613919887-8QtDD5SVoockQ%2BrcMhZ1dqwKQ20%3D: net/http: TLS handshake timeout
[ERROR] Failed to pull docker image : apolloauto/apollo:dev-x86_64-18.04-20210204_2153

这次的错误,没有明显的提示,更像是网络问题,厚着脸皮,重试了一次,居然可以了。但问题是下载也太慢了,文件居然有过G的。这估计是个及其漫长的等待了。

$:~/test_git/apollo$ sudo bash docker/scripts/dev_start.sh
[INFO] Use default GeoLocation settings
[INFO] Start pulling docker image apolloauto/apollo:dev-x86_64-18.04-20210204_2153 ...
dev-x86_64-18.04-20210204_2153: Pulling from apolloauto/apollo
f22ccc0b8772: Downloading  11.67MB/26.71MB
3cf8fb62ba5f: Download complete
e80c964ece6a: Download complete
8a451ac89a87: Download complete
c563160b1f64: Download complete
596a46902202: Download complete
aa0805983180: Downloading  2.689MB/1.501GB
5718c3da35a0: Downloading  2.128MB/1.237GB
ecaecc0c2072: Waiting
dd7b324046d3: Waiting
c71390291a7c: Waiting
5392f106e19b: Waiting

这个速度实在是受不了了,直接CTRL+C结束了漫长的等待。查了下改用国内源的方式。

5 为docker增加国内源

参考文档

  • Docker——配置国内源
  • Docker中配置国内镜像
    查了下,别人都是"$ sudo bash docker/scripts/dev_start.sh -C"增加了个 -C。
    结果自己测试了下,直接报错。说是没有 -C选项。
    只好采用其他方式。查了下,可以直接增加配置文件,使用国内镜像。
    新建docker配置文件daemon.json
$ sudo vi /etc/docker/daemon.json

json文件的内容如下:(增加国内源)

{"registry-mirrors" : ["https://mirror.ccs.tencentyun.com","http://registry.docker-cn.com","http://docker.mirrors.ustc.edu.cn","http://hub-mirror.c.163.com"],"insecure-registries" : ["registry.docker-cn.com","docker.mirrors.ustc.edu.cn"],"debug" : true,"experimental" : true
}

重启动docker

$ systemctl daemon-reload
$ systemctl restart docker

再次执行"/apollo$ sudo bash docker/scripts/dev_start.sh "。速度果然起飞,感人。
经过等待后,终于收到了安装完成的通知。

[ OK ] Congratulations! You have successfully finished setting up Apollo Dev Environment.
[ OK ] To login into the newly created apollo_dev_root container, please run the following command:
[ OK ]   bash docker/scripts/dev_into.sh
[ OK ] Enjoy!

6 进入容器

输入密码后,进入容器。

sudo bash docker/scripts/dev_into.sh
[sudo]XXX 的密码:
root@in-dev-docker:/apollo#

7 编译

由于我的电脑没有GPU,直接使用CPU编译。

sudo bash apollo.sh build_cpu
[WARNING] nvidia-smi not found. CPU will be used.


然后就是漫长的编译了。
中间又报了下载的错误,基于前面的经验,直接重新运行编译。最终看到了编译完成。

(21:45:43) INFO: Elapsed time: 2244.349s, Critical Path: 155.57s
(21:45:43) INFO: 17477 processes: 10857 internal, 6620 local.
(21:45:43) INFO: Build completed successfully, 17477 total actions
==============================================
[ OK ] Done building apollo. Enjoy!
==============================================
root@in-dev-docker:/apollo#

8 Dreamview启动失败"Failed to start Dreamview"

参考文档

  • Failed to start Dreamview
    执行"bash scripts/bootstrap.sh",却报错Dreamview启动错误。
root@in-dev-docker:/apollo# bash scripts/bootstrap.sh
[WARNING] nvidia-smi not found. CPU will be used.
[WARNING] nvidia-smi not found. CPU will be used.
[WARNING] nvidia-smi not found. CPU will be used.
[WARNING] nvidia-smi not found. CPU will be used.
nohup: appending output to 'nohup.out'
Launched module monitor.
[WARNING] nvidia-smi not found. CPU will be used.
[WARNING] nvidia-smi not found. CPU will be used.
nohup: appending output to 'nohup.out'
Launched module dreamview.
Failed to start Dreamview. Please check /apollo/data/log or /apollo/data/core for more information

但新开了终端,不在docker中运行该指令,却报出dreamview已经执行skip该指令。

$ bash scripts/bootstrap.sh
Module monitor is already running - skipping.
Module dreamview is already running - skipping.

而且这时使用chorme打开localhost:8888,也能看到运行界面。

查了下相关的文档,居然是在docker里,再执行一遍该语句即可,赶紧试了下,果然好使。

root@in-dev-docker:/apollo# bash scripts/bootstrap.sh
[WARNING] nvidia-smi not found. CPU will be used.
[WARNING] nvidia-smi not found. CPU will be used.
[WARNING] nvidia-smi not found. CPU will be used.
[WARNING] nvidia-smi not found. CPU will be used.
Module monitor is already running - skipping.
[WARNING] nvidia-smi not found. CPU will be used.
[WARNING] nvidia-smi not found. CPU will be used.
Module dreamview is already running - skipping.
root@in-dev-docker:/apollo# 

参考文档如下

再次使用chorme打开localhost:8888,也能看到运行界面。
为了避免有其他错误,顺便试下DreamView的stop/restart,并再次启动起来。注意这里的stop restart都是直接写在命令后,而不加"-",实测加"-"反而不会正确执行。

root@in-dev-docker:/apollo# bash scripts/bootstrap.sh stop
[WARNING] nvidia-smi not found. CPU will be used.
[WARNING] nvidia-smi not found. CPU will be used.
[WARNING] nvidia-smi not found. CPU will be used.
[WARNING] nvidia-smi not found. CPU will be used.
[cyber_launch_12325] INFO Stop cyber launch finished.
[cyber_launch_12325] INFO cyber_launch exit.
Successfully stopped module dreamview.
[WARNING] nvidia-smi not found. CPU will be used.
[WARNING] nvidia-smi not found. CPU will be used.
[cyber_launch_12365] INFO Stop cyber launch finished.
[cyber_launch_12365] INFO cyber_launch exit.
Successfully stopped module monitor.
root@in-dev-docker:/apollo# bash scripts/bootstrap.sh
[WARNING] nvidia-smi not found. CPU will be used.
[WARNING] nvidia-smi not found. CPU will be used.
[WARNING] nvidia-smi not found. CPU will be used.
[WARNING] nvidia-smi not found. CPU will be used.
nohup: appending output to 'nohup.out'
Launched module monitor.
[WARNING] nvidia-smi not found. CPU will be used.
[WARNING] nvidia-smi not found. CPU will be used.
nohup: appending output to 'nohup.out'
Launched module dreamview.
Dreamview is running at http://localhost:8888
root@in-dev-docker:/apollo#


再次使用chorme打开localhost:8888,能看到运行界面。

9 测试

执行"# python3 record_helper.py demo_3.5.record",将记录文件写到demo_3.5.record。执行成功。

root@in-dev-docker:/apollo/docs/demo_guide# ls
README.md  README_cn.md  images  record_helper.py
root@in-dev-docker:/apollo/docs/demo_guide# python3 record_helper.py demo_3.5.record
Downloading https://github.com/ApolloAuto/apollo/releases/download/v3.5.0/demo_3.5.record
--2021-02-22 08:35:28--  https://github.com/ApolloAuto/apollo/releases/download/v3.5.0/demo_3.5.record
Resolving github.com (github.com)... 13.229.188.59
Connecting to github.com (github.com)|13.229.188.59|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://github-releases.githubusercontent.com/96246170/5ef2fd80-1274-11e9-8d26-8ff378bbd07f?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20210222%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20210222T003529Z&X-Amz-Expires=300&X-Amz-Signature=9049644f7577a845fdcddab5e044ba423738a5a7b0bee24bdfc628368862140c&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=96246170&response-content-disposition=attachment%3B%20filename%3Ddemo_3.5.record&response-content-type=application%2Foctet-stream [following]
--2021-02-22 08:35:29--  https://github-releases.githubusercontent.com/96246170/5ef2fd80-1274-11e9-8d26-8ff378bbd07f?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20210222%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20210222T003529Z&X-Amz-Expires=300&X-Amz-Signature=9049644f7577a845fdcddab5e044ba423738a5a7b0bee24bdfc628368862140c&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=96246170&response-content-disposition=attachment%3B%20filename%3Ddemo_3.5.record&response-content-type=application%2Foctet-stream
Resolving github-releases.githubusercontent.com (github-releases.githubusercontent.com)... 185.199.110.154, 185.199.111.154, 185.199.109.154, ...
Connecting to github-releases.githubusercontent.com (github-releases.githubusercontent.com)|185.199.110.154|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 96246211 (92M) [application/octet-stream]
Saving to: 'demo_3.5.record'demo_3.5.record     100%[===================>]  91.79M  11.1MB/s    in 8.6s    2021-02-22 08:35:38 (10.7 MB/s) - 'demo_3.5.record' saved [96246211/96246211]Successfully downloaded demo_3.5.record
root@in-dev-docker:/apollo/docs/demo_guide#

10 运行测试数据

运行"cyber_recorder play -f demo_3.5.record --loop",报出了若提示"cyber_recorder: command not found," 返回/apollo/下执行source cyber/setup.bash。问题解决。

重新返回到demo_guide目录下,再次执行"cyber_recorder play -f demo_3.5.record --loop"

root@in-dev-docker:/apollo/docs/demo_guide# cyber_recorder play -f demo_3.5.record --loop

这时可以看到运行情况。


至此测试完毕。

11 停止container

参考文档

  • docker 如何关闭容器

测试完毕,关闭容器。
执行exit,退出容器。回头再看看怎么再进入。

root@in-dev-docker:/apollo/docs/demo_guide# exit

后来发现,另外一个方式是,从另外一个terminal下,使用"docker stop apollo_dev_root"。但没试过。

12 再次进入container

  • 进入/apollo目录,首先查看容器的名称,指令"docker ps -a"
  • 启动该容器,启动后返回该容器名称,指令" docker start apollo_dev_root"
  • 重复前面的指令" sudo bash docker/scripts/dev_into.sh "。
/apollo$  docker ps -a
CONTAINER ID   IMAGE                                              COMMAND       CREATED        STATUS          PORTS     NAMES
d5097d57f7c5   apolloauto/apollo:dev-x86_64-18.04-20210204_2153   "/bin/bash"   45 hours ago   Up 54 minutes             apollo_dev_root
/apollo$  docker start apollo_dev_root
apollo_dev_root
$ sudo bash docker/dev_into.sh
[sudo] XXX 的密码:
bash: docker/dev_into.sh: 没有那个文件或目录
/apollo$ sudo bash docker/scripts/dev_into.sh
root@in-dev-docker:/apollo#

Apollo安装记录相关推荐

  1. 进阶无人驾驶—百度Apollo安装与仿真平台

    课程介绍 Apollo作为自动驾驶平台,学习者如何从硬件.软件等方面快速入门.同时,课程还会介绍Apollo的部署安装以及仿真平台的使用. 一.Apollo自动驾驶架构介绍 我们还记得,自动驾驶硬件架 ...

  2. 华为NPU卡ubuntu(无网络连接情况)驱动安装记录

    华为NPU卡ubuntu驱动安装记录 前奏:文中的绝大多数情况都是因为服务器没有网络服务,如果读者的电脑有完全的网络服务可能参考意义不是很大.不过,处理的方法和排查的思路可以作为一个借鉴. root@ ...

  3. Apollo进阶课程㊴丨Apollo安装过程概述

    原文链接:进阶课程㊴丨Apollo安装过程概述 Apollo是一个自动驾驶的平台,推荐的参考运行环境为:ThinkPAD X240.CPU:i5 .四核 .内存 8G. 硬盘容量40G以上. 上周阿波 ...

  4. Kubernetes Dashboard on Ubuntu 16.04安装记录

    2019独角兽企业重金招聘Python工程师标准>>> Kubernetes Dashboard on Ubuntu 16.04安装记录 以下内容在Kubernetes 1.9.3 ...

  5. openVINO2021.4安装记录

    目录 OpenVINO2021.4安装记录 电脑环境 安装步骤 一.官网下载 二.解压安装 三.安装外部相关依赖 四.设置环境变量 五.模型优化器配置 六.运行demo OpenVINO2021.4安 ...

  6. sourceinsight安装记录

    sourceinsight安装记录 此文章为本人使用sourceinsight一个星期之后的相关设置步骤记录和经验记录,以备以后查验,网上的相关资料都也较为完善,但是对于新手还是有一定困难的,所以在这 ...

  7. MySQL 8.0安装记录

    MySQL 8.0安装记录 文档目的 本文用于描述MySQL 8.0安装与配置的一般方法 前言 Oracle官网对应大多数操作系统提供两种种MySQL安装包 Windows: exe zip Redh ...

  8. zookepper单机集群安装记录

    zookepper安装记录 0.下载地址 1.解压 2.修改配置 3.创建日志目录.数据目录 4.复制zookeeper2181目录 zookeeper2182 zookeeper2183并修改zoo ...

  9. 【Y9000P 2022 GTX3060 CUDA安装记录】

    Y9000P 2022 GTX3060 CUDA11.7&11.1安装 前言 一.确定cuda版本 二.下载CUDA 三.安装CUDA 四.环境配置 五.环境测试 六.VS项目配置 七.CUD ...

最新文章

  1. Beetlsql自定义生成entity,mapper,md代码
  2. 自由自在带你品尝一种能长出果蔬的冰淇淋
  3. ORACLE AWR 和 ASH
  4. Java应用程序与小程序之间有那些差别?
  5. MYSQL delete 从多人表中删除
  6. python 基于机器学习识别验证码
  7. SharePoint Windows Workflow Foundation
  8. 量子计算时代到来,摩尔定律将要失效?
  9. 《C++ Primer Plus》读书笔记之十—类和动态内存分配
  10. java rtmp录制视频_red5-rtmp-push
  11. 学了python的感悟_初学python之感悟
  12. 自己动手写操作系统(一)
  13. c语言 符号怎么,c语言怎么说明符号
  14. 密码的输入问题(do while()和st1.equals(st2)的使用)
  15. Creo二次开发:参数化设计
  16. 自定义控件之仿电话簿汉字排序侧边拼音
  17. 心率变异性(HRV)
  18. 互联网人求职向传统行业倾斜;全国有两成开发者月薪超1.7万 | 美通企业日报...
  19. 设备无法使用、驱动载入异常(39){无法取得路径} 路径 %hs 不存在
  20. 与Lucene 4.10配合的中文分词比较(转)

热门文章

  1. 【三】仿射变换、投影变换的矩阵形式和特点归纳
  2. 将figma的设计图上传到蓝湖
  3. signal信号的基础知识
  4. mysql 获取一条数据_MySQL数据库中随机获取一条或多条记录
  5. 自己设置假期的日历控件_在假期旅行时使用PC娱乐自己
  6. 基于loongnix20系统,libvlc代码直接集成测试
  7. 基音周期计算(pitch tracking)
  8. 马哥学习----李洋个人笔记--启动故障排除
  9. 硬件找工作笔试题、面试题,求职offer指导规划
  10. 《用微信测试公众号慰问你的好兄弟/姐妹》:用java简单实现微信公众号消息推送(入门且详细且有效)