외부 하드 드라이브에 데이터 패킷을 저장하는 방법 ========================================== 자율 주행 데이터가 매일 상당량 기록되기 때문에 외장 하드 드라이브에 데이터를 저장할 계획입니다. 이를 어떻게 구현할 수 있나요? - 관리자: daohu527@gmail.com - 버전: 1.0.0 - 날짜: 2024년 11월 2일 - 설명: 답변 ---- 기본적으로 데이터는 컨테이너 내에 저장됩니다. 그러나 데이터의 영속성을 보장하고 손실을 방지하기 위해 외장 하드 드라이브를 호스트의 특정 디렉토리에 마운트한 후, 해당 디렉토리를 컨테이너에 마운트해야 합니다. 이렇게 하면 데이터는 하드 드라이브에 저장되며, 컨테이너가 중지되더라도 손실되지 않습니다. 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