百度apollo——启动脚本
前言
我们都知道,启动Apollo容器和进入容器需要执行apollo/docker/scripts/dev_start.sh和apollo/docker/scripts/dev_into.sh脚本,通过学习这两个脚本的内容,可以了解Apollo容器的启动过程。
dev_start.sh
dev_start.sh脚本的功能是对主机环境进行一系列的检查,拉取相关镜像,启动容器。在脚本的main函数当中可以看出,该脚本检查了主机系统、架构、设备等,并可以接受不同的参数进行相应的设置,具体可以通过参数--help查看。
通过参数-g cn可以修改拉取镜像的网址为国内的网址,通过参数-t可以指定拉取镜像的TAG,因此可以解析出拉取的镜像名DEV_IMAGE,对应的容器名为DEV_CONTAINER。拉取完成该DEV_IMAGE后会设定容器数据卷:
-v ~/apollo:/apollo
-v /dev:/dev
-v /media:/media
-v /tmp/.X11-unix:/tmp/.X11-unix:rw
-v /etc/localtime:/etc/localtime:ro
-v /usr/src:/usr/src
-v /lib/modules:/lib/modules
然后会根据变量DEFAULT_MAPS或DEFAULT_TEST_MAPS变量拉取map容器,每个map容器的/apollo/modules/map/data/${map_name}目录下保存了高精地图的文件,依次运行各个map容器,为每个map容器建立一个数据卷挂载至该目录下,使得每个map容器当中保存的地图文件会保存至主机的数据卷当中。
之后会拉取其他的镜像,如AUDIO、YOLOV4等等,执行过程与map容器相同,将容器当中的文件保存至数据卷当中。
之后会运行DEV_IMAGE,建立容器,将各个数据卷挂载至容器对应的目录当中。
dev_into.sh
该脚本的功能主要是通过docker exec进入容器
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
