PUID, GUID
시놀로지 패키지 센터에서 제공하는 앱만 설치해서 사용한다면 PUID, GUID는 사실 일반적인 유저가 확인할 필요는 없는 정보라고 생각한다. 하지만 Docker를 사용하면서 특히 파일 권한 문제로 골머리를 앓아 본 사람이라면 이 문제(파일 권한 문제)가 얼마나 심각하고 귀찮은 문제인지 이해하고 있을 것이다.
PUID, GUID가 중요한 이유
시놀로지도 Linux기반의 OS를 제공하고, Docker도 리눅스 기반의 Container가 많다. 리눅스는 파일 권한에 특히 까다로운 OS이기 때문에 실제로 Container를 설치/설정하는 과정에서 파일 권한 문제가 많이 발생한다.
이러한 문제를 해결할 수 있는게 바로 PUID, GUID이다. 시놀로지에서 ID(유저) 하나를 새로 만들어서(기존 유저로 사용해도 되지만 유저를 만드는 것을 추천한다), 해당 ID에 필요한 폴더 권한(시놀로지 상에서의 폴더 소유권 및 권한) 등을 할당하고, 해당 ID의 PUID/GUID를 알아내서 Docker 생성 시 환경 변수로 입력해주면 파일 권한 문제가 비교적 쉽게 사라지는 것을 경험할 수 있다. 따라서 웬만한 Docker Container에서는 PUID, GUID설정하는 것을 추천하며, 특히 Docker Container내의 파일/폴더만 사용하는 것이 아니라 시놀로지의 파일/폴더를 사용하는 Container라면 무조건 PUID, GUID 설정하는 것을 강력히 추천한다.
내가 사용하는 Docker 이미지 중 PUID, GUID가 반드시 필요했던 이미지(Container)는 아래와 같다.
- Nextcloud
- Calibre-web
PUID, GUID 확인 방법
PUID, GUID확인을 위해서는 시놀로지 NAS에 ssh 접속이 필요하다. 윈도우 등에서는 Putty 등 프로그램을 설치해서 진행하면 되고, Mac에서는 터미널에 아래 명령어를 입력해서 접속이 가능하다.
ssh 'ID@NAS주소' -p 'SSH포트번호'
ssh 접속 이후 아래 명령어를 통해 PUID, GUID 확인이 가능하다.
id '원하는유저ID'
필자가 docker라는 ID(유저)를 생성하고, ssh에 접속해서 id docker 명령어를 통해 확인한 결과는 아래와 같다.
uid=1048(docker) gid=100(users) groups=100(users),101(administrators),65539(docker)
여기에서 PUID는 1048, GUID는 65539를 사용하면 된다.
한 번 ID가 만들어지면 PUID, GUID는 변하는 값이 아니므로, 해당 값을 다른 곳에 기록해두고 사용해도 된다.
'NAS > Docker' 카테고리의 다른 글
| [추천 이미지] Nextcloud 설치 방법 (0) | 2021.09.05 |
|---|