커뮤니티 솔루션

ZimaOS Docker 앱 경로 이해하기: Plex 구성, 미디어, 호스트 경로 및 컨테이너 볼륨

A July 2024 official Zima-Giorgio tutorial explaining Docker container paths and host-side ZimaOS volume mappings through Plex. The core model remains current, while ZimaOS now also supports choosing a global App data location and moving managed application data to another storage space.

ZimaOS에서 가장 중요한 Docker 저장소 개념은 앱 컨테이너 내부의 경로가 실제 데이터를 저장하는 호스트의 경로와 같지 않다는 점입니다. Plex에서는 다음과 같이 보일 수 있습니다. /config 그리고 /media한편 ZimaOS는 해당 위치를 저장 장치의 실제 폴더에 매핑합니다.

2024년 튜토리얼은 개념적으로 여전히 올바릅니다. 현재 IceWhale 문서에서는 이 모델이 확장되어, 이제 사용자가 설정 > 앱에서 전역 앱 데이터 위치를 설정하고, 애플리케이션 데이터를 다른 저장 공간으로 이동하며, 앱별 볼륨 매핑을 확인하고, 대용량 AppData를 작은 시스템 드라이브에서 분리해 보관할 수 있습니다.

ZimaOS 호스트의 AppData 경로가 Docker 컨테이너 내부의 더 짧은 경로에 매핑된 모습을 보여 주는 다이어그램
호스트 폴더와 컨테이너 폴더는 이름이 달라도 동일하게 마운트된 데이터를 가리킬 수 있습니다.

컨테이너에는 자체 파일 시스템이 있습니다

Docker는 각 앱을 ZimaOS 호스트와 격리합니다. 컨테이너 내부에서 앱은 다음 경로로 시작하는 자체 루트 파일 시스템을 사용합니다. /이 임시 레이어에만 기록된 파일은 컨테이너를 재생성할 때 사라질 수 있습니다.

따라서 영속 데이터에는 실제 호스트 폴더에 대한 명시적인 볼륨 또는 바인드 마운트가 필요합니다.

호스트 경로와 컨테이너 경로는 서로 다른 역할을 합니다

다음과 같은 매핑입니다.

/DATA/AppData/plex/config  →  /config
/DATA/Media                →  /media

다음과 같은 의미입니다.

  • 왼쪽은 실제 ZimaOS 호스트 위치입니다.
  • 오른쪽은 Plex가 컨테이너 내부에서 보는 경로입니다.

Plex는 컨테이너 내부 경로를 사용하도록 구성해야 하며, 백업 및 호스트 수준의 파일 관리는 호스트 측 경로를 대상으로 해야 합니다.

Plex의 /config는 영속적인 애플리케이션 상태를 저장합니다

원본 튜토리얼에서는 Plex의 /config AppData 폴더에 저장하여 라이브러리 데이터베이스, 환경 설정, 메타데이터 및 관련 상태가 컨테이너를 다시 시작하거나 재생성해도 유지되도록 합니다.

현재 ZimaOS도 동일한 영속 데이터 원칙을 따르지만, 사용자가 앱 데이터 위치를 변경하면 실제 호스트 경로가 바뀔 수 있습니다.

Plex의 /media는 실제 미디어 라이브러리를 가리켜야 합니다

Plex는 ZimaOS의 모든 디스크를 자동으로 인식하지 않습니다. 호스트의 미디어 폴더를 Plex 컨테이너에 마운트한 다음, 해당 컨테이너 내부 경로에서 선택해야 합니다.

ZimaOS Docker 경로 튜토리얼에서 사용된 Plex 앱 예시
Plex는 구성 데이터와 미디어 데이터의 영속성 요구 사항이 명확히 다르기 때문에 유용한 예시입니다.

앱 설정에서 볼륨 매핑을 확인하고 편집할 수 있습니다

Zima-Giorgio의 튜토리얼에서는 Plex 설정을 열고 볼륨 경로를 확인하라고 안내했습니다. 현재 ZimaOS에서도 이 모델을 유지하며, 설정 > 앱을 통해 더욱 폭넓은 앱 저장소 정보를 확인할 수 있습니다.

현재의 ZimaOS 앱 저장소 경로 모델을 사용하여 현재 경로 동작을 확인하세요.

현재 ZimaOS에서는 전역 앱 데이터 위치를 이동할 수 있습니다

IceWhale은 이제 시스템 드라이브를 가득 채우는 대신 App 데이터 위치를 실제 저장 공간으로 지정할 것을 권장합니다. ZimaOS에서는 해당 위치를 변경하면 관리되는 앱 데이터를 이전할 수 있습니다.

즉, 다음과 같은 하드코딩된 2024 경로는 /DATA/AppData/plex/config 현재 모든 시스템에서 반드시 실제 경로인 것은 아닙니다.

호스트 측 영구 폴더 백업

Plex를 백업할 때는 다음을 저장하는 호스트 폴더를 보호하세요. /config 그리고 그 밖의 중요한 영구 마운트도 백업하세요. 폐기 가능한 컨테이너 이미지는 다시 가져올 수 있으므로 일반적으로 백업 가치가 더 낮습니다.

데이터베이스의 경우 파일 시스템 수준 백업 전에 애플리케이션을 중지하거나 일관된 상태로 내보내야 하는지 고려하세요.

미디어와 AppData는 서로 다른 저장소 유형입니다

Plex 구성 데이터는 몇 기가바이트에 불과할 수 있지만 미디어 라이브러리는 수십 테라바이트에 이를 수 있습니다. 두 데이터는 서로 다른 저장 공간에 두고 서로 다른 백업 정책을 적용할 수 있습니다.

Plex의 AppData 위치를 변경했다는 이유만으로 전체 미디어 라이브러리를 이동하지 마세요.

올바른 매핑도 권한 때문에 작동하지 않을 수 있습니다

Plex가 마운트된 경로는 볼 수 있지만 파일을 열 수 없다면 다음으로 파일 시스템 소유권 및 권한을 확인해야 합니다. 컨테이너 내부에 경로가 아예 존재하지 않는다면 먼저 볼륨 매핑을 수정하세요.

Docker 경로 FAQ

Plex의 라이브러리 설정에서 ZimaOS 호스트 경로를 사용해야 하나요?

아니요. Plex에서는 일반적으로 컨테이너 측 경로를 사용해야 합니다. 예를 들면 /media.

Docker 컨테이너를 삭제하면 매핑된 AppData도 자동으로 삭제되나요?

아니요. 영구 호스트 폴더는 사용자가 의도적으로 삭제하지 않는 한 유지됩니다.

/DATA/AppData가 항상 현재 실제 AppData 위치인가요?

반드시 그런 것은 아닙니다. 현재 ZimaOS에서는 사용자가 관리되는 앱 데이터 위치를 선택하고 이전할 수 있습니다.