4. 如何将数据包保存至外部挂载的硬盘?
由于自动驾驶每天录制的数据包比较大,计划使用外部硬盘来保存这些数据。请问如何实现?
版本:1.0.0
日期:11/02/2024
描述:
4.1. 回答
默认情况下,数据会存储在容器中,但为了实现数据持久化并防止数据丢失,需要将外部硬盘挂载到主机的特定目录,再将该目录挂载到容器内。这样,数据将保存在硬盘上,不会随容器停止而丢失。
4.2. 在 Ubuntu 下挂载硬盘到容器的步骤
识别外部硬盘设备
lsblk
找到你的外部硬盘设备名(例如 /dev/sdb1)。
创建挂载目录
创建一个用于挂载硬盘的目录(例如 /apollo/data/bag)。
cd apollo sudo mkdir -p data/bag
挂载硬盘
使用 mount 命令将硬盘挂载到该目录。
sudo mount /dev/sdb1 data/bag
【跳过】启动容器并挂载目录
在启动容器时,将该挂载目录绑定到容器内部的路径(例如 /data)。
docker run -v /mnt/external_drive:/data your_container_image
> 因为 apollo 目录已经默认挂载到容器,因此可以跳过该步骤。
这样,外部硬盘的数据就可以通过容器内的 /data 目录访问,并在容器重启或停止后仍然保留在硬盘中。
4.3. 录制数据包
录制数据包,并且指定保存路径。
cyber_recorder record -a -o=data/bag