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