CLIEN

본문 바로가기 메뉴 바로가기 폰트크기변경 색상반전보기
톺아보기 공감글 추천글
커뮤니티 C 모두의광장 F 모두의공원 I 사진게시판 Q 아무거나질문 D 정보와자료 N 새로운소식 T 유용한사이트 P 자료실 E 강좌/사용기 L 팁과강좌 U 사용기 · 체험단사용기 W 사고팔고 J 알뜰구매 S 회원중고장터 B 직접홍보 · 보험상담실 H 클리앙홈
소모임 소모임전체 임시소모임 ·굴러간당 ·주식한당 ·아이포니앙 ·MaClien ·가상화폐당 ·자전거당 ·안드로메당 ·방탄소년당 ·나스당 ·일본산당 ·PC튜닝한당 ·소셜게임한당 ·골프당 ·육아당 ·날아간당 ·바다건너당 ·냐옹이당 ·레고당 ·노젓는당 ·클다방 ·개발한당 ·키보드당 ·사과시계당 ·축구당 ·덕질한당 ·땀흘린당 ·콘솔한당 ·갖고다닌당 ·패스오브엑자일당 ·시계찬당 ·포뮬러당 ·개판이당 ·IoT당 ·라즈베리파이당 ·소시당 ·리눅서당 ·LOLien ·찰칵찍당 ·스팀한당 ·VR당 ·캠핑간당 ·걸그룹당 ·요리한당 ·야구당 ·방송한당 ·심는당 ·창업한당 ·소리당 ·총쏜당 ·임시소모임 ·젬워한당 ·퐁당퐁당 ·이륜차당 ·3D메이킹 ·하스스톤한당 ·블랙베리당 ·WebOs당 ·동숲한당 ·윈태블릿당 ·활자중독당 ·e북본당 ·스타한당 ·디아블로당 ·맛있겠당 ·적는당 ·도시어부당 ·곰돌이당 ·빨콩이당 ·클래시앙 ·영화본당 ·어학당 ·보드게임당 ·그림그린당 ·WOW당 ·미드당 ·FM한당 ·나혼자산당 ·미끄러진당 ·오른당 ·헌팅한당 ·대구당 ·Mabinogien ·여행을떠난당 ·물고기당 ·X세대당 ·볼링친당 ·인스타한당 ·배드민턴당 ·농구당 ·뽀록이당(당구) ·블록체인당 ·문명하셨당 ·쿠키런당 ·날아올랑 ·이브한당 ·패셔니앙 ·차턴당 ·내집마련당 ·히어로즈한당 ·KARA당 ·가죽당 ·땅판당 ·MTG한당 ·노키앙 ·소풍간당 ·품앱이당 ·리듬탄당 ·Sea마당 ·SimSim하당 ·심야식당 ·파도탄당 ·공대시계당 ·터치패드당 ·트윗당 ·윈폰이당
© CLIEN.NET
공지 현재 첨부 이미지가 정상적으로 보이지 않고 있습니다 더보기

나스당

잡담 docker에서 shared 볼륨 매핑 11

이치로
5,203
2019-09-12 00:44:07 수정일 : 2019-10-23 05:23:59 1.♡.121.76


컨테이너 안에서 plexdrive나 rclone mount와 같이 unionfs/mergerfs 등 fuse mount 관련 커맨드를 마운트 포인트 /data로 수행했다고 가정합니다. 이제 컨테이너 안에서는 마운트 한 내용이 /data에서 잘 보입니다. 


컨테이너 안에서만 쓸거면 모르지만 다른 컨테이너와 데이터를 주고 받거나 (예를 들면 docker-plexdrive를 올리고 그 폴더에 대해서 docker-plex를 올린다거나) 호스트에서 가져다 쓰려면 shared mount가 필요합니다.


docker run -d \
    --name=test_cont \
    ... \
    -v /path/on/host:/data:shared \
    ... \
    owner/repo:tag

마지막에 :shared라고 명시해주면 컨테이너 내부의 /data에 마운트한 내용이 호스트의 /path/on/host에서도 잘 보입니다. 


시놀로지나 맥에서는 이게 잘 안되는걸로 아는데 (shared를 붙이면 에러나죠)


sudo mount --make-shared /volume1


이런식으로 /volume1 아래의 서브트리에 대해서 shared로 만들어주면 됩니다. 저 폴더는 사용자에 따라 /volum2가 될 수도 있고 /mnt가 될 수도 있고 그러합니다.


그런 다음 -v /path/on/host:/data:shared가 적용된 컨테이너를 올려보면 잘 돌아갈겁니다.


문제는 이게 재부팅하면 다시 해줘야하네요.

아마 fstab 같은데서 처음 마운트될때 옵션을 줘야하는 것 같은데 더이상 건드리기는 위험해 보여서...

혹시 아시는 분은 제보 부탁합니다.




p.s. 시놀 도커 패키지 수정버전 올라왔네요.



이치로 님의 게시글 댓글
SIGNATURE
회원가입일 : 2004-08-24
쪽지는 바로바로 확인 못합니다.
 :)
서명 더 보기 서명 가리기
  • 주소복사
  • Facebook
  • Twitter
0명
댓글 • [11] 을 클릭하면 간단한 회원메모를 할 수 있습니다.
__ei
IP 203.♡.203.106
10-24 2019-10-24 13:24:09 / 수정일: 2019-10-24 13:40:13
·
하이퍼v에서 헤놀로지 5.2 돌리고 있습니다.
일단 sudo 명령이 없는데 그냥 루트로 로그인해서 mount --make-shared 명령 실행하면 사용중이라고 에러메세지가 나옵니다. umount도 사용중이라며 안되고.. 방법이 있을까요?

자답입니다.
위의 명령 대신에
mount -o shared /volume1
명령을 사용하니 되네요.

추가
mount -o shared 명령은 실행 되지만 여전히 도커에서 -v /host:/container:shared 명령으로 실행하면 에러가 나네요.
이치로
IP 1.♡.121.76
10-25 2019-10-25 12:33:30
·
rshared라고 해야 된다고도 하고...제가 테스트할때는 shared로 되었는데. 뭐가 다른지 모르겠습니다.
__ei
IP 203.♡.203.106
10-25 2019-10-25 12:37:43
·
@이치로님 rshared 도 해봤는데 똑같더라고요. 흠...
이치로
IP 1.♡.121.76
10-25 2019-10-25 12:46:10
·
@__ei님 그럼 헤놀5.2의 docker 버전이 낮아서?... fuse 버전이 낮아서? 로 추측해봅니다.
해를쏘다
IP 119.♡.111.176
12-05 2019-12-05 21:39:20
·
esxi에서 헤놀로지 6.1.7 사용중입니다. 이치로님 plexdrive 도커를 위에서 알려주신 명령어로 마운트하는데 성공했는데,
문제는 마운트한 폴더 조회는 가능한데 수정 권한이 없다고 나옵니다. 마운트한 폴더에 영화를 추가하면 rw 가능한 폴더에 해당 영화가 복사되고, 그 폴더를 나중에 rclone으로 업로드하려는 계획인데.. 잘 안됩니다.
첨부한 그림에서 Media 폴더가 제가 마운트한 것이고, 아랫 부분은 마운트 해제했을때 파일 권한 변화 모습입니다.

컨테이너 생성할때 다른 명령어를 주어야 하나요? 제가 사용한 명령은 다음과 같습니다.

docker run -d --name=plexdrive --restart=always --privileged --net=bridge -v /volume1/docker/plexdrive/config:/config -v /volume1/GoogleDrive/Media:/data:shared -v /volume2/Media:/ufs --device=/dev/fuse --cap-add=MKNOD --cap-add=SYS_ADMIN -e PUID=1026 -e PGID=100 -e RUN_OPTS="--chunk-check-threads=8 --chunk-load-ahead=16 --chunk-load-threads=16 --max-chunks=512 --chunk-size=1M --refresh-interval=1m" wiserain/plexdrive:5.0.0-unionfs
이치로
IP 211.♡.202.90
12-06 2019-12-06 17:07:49
·
@해를쏘다님 아래 마운트한 폴더 기준으로 다시 한번 문제를 설명해주세요. 지금 쓰신것 기준으로는 /volume1/GoogleDrive/Media는 /volume2/Media와 plexdrive가 내부적으로 마운트한 것(이하 /plexdrive)의 union이 됩니다.

/volume1/GoogleDrive/Media = /volume2/Media + /plexdrive

/volume2/Media는 읽고쓰기가능 plexdrive는 읽기전용입니다. 어느 폴더에 수정권한이 없다고 나오고 뭐가 어떻게 안된다는 것인지 모르겠습니다.
해를쏘다
IP 119.♡.111.176
12-06 2019-12-06 20:34:56 / 수정일: 2019-12-06 20:36:13
·
a=plexdrive:ro
b=/volume2/Media:rw
ab(union)=/volume1/GoogleDrive/Media
저는 ab 폴더에 파일을 카피하면 rw인 b폴더에 실제 파일이 카피되는 걸로 알고 있었습니다.
그래서 ab를 플렉스 라이브러리로 등록하고 영화를 추가하기 위해 ab에 영화를 카피하고자 하였습니다.
그런데 카피가 되지 않고 오류가 발생해서 ab에 대한 퍼미션을 확인해보니 위의 그림과 같았고 이 상태로는 ab에 카피가 되지 않을거라 판단하였습니다.

그래서 b에다 영화를 카피하면 ab에 반영되고 플렉스 서버에서 영화가 추가되지 않을까 하여 b에 영화를 카피했습니다. 결론적으로는 ab에도 영화 추가 반영되었으나 플렉스 서버에서는 영화가 자동으로 추가되지 않았고 수동으로 업데이트 해야 인식되었습니다.

개인적으로는 ab에 영화 카피가 된다면 플렉스 서버에서 영화가 등록될 때 라이브러리 추가가 자동적으로 되지 않을까 하는 생각이 들어서 ab에 카피 가능하도록 퍼미션 수정 방법을 찾고 있는 상황입니다.
이치로
IP 211.♡.202.90
12-06 2019-12-06 21:37:02
·
@해를쏘다님 이해하신바가 맞습니다. 권한이 왜 그런지는 모르겠네요. 저 폴더 /volume1/GoogleDrive/Media:/data는 PUID와 PGID에만 영향을 받을텐데 말입니다. 마운트 전에는 user:group이다가 마운트 후에는 root:root로 바뀐다는 말이지요? docker container log는 어떤가요?
해를쏘다
IP 119.♡.111.176
12-06 2019-12-06 21:59:03
·
마운트 전에 ab 폴더는 root:root이고 drwxrwxrwx인데 마운트 후에 user:group으로 바뀌고 d--------- 입니다. 헤놀 도커 로그에는 에러표시는 보이지 않습니다.
plexdrive 컨테이너 실행시 제 id 검색해서 -e PUID=1026 -e PGID=100을 줬는데 이게 문제이려나요.
이치로
IP 211.♡.202.90
12-06 2019-12-06 23:34:11
·
@해를쏘다님 퍼미션 나온게 좀 이상하긴하네요... 제가 시놀/헤놀에서는 써보질 않아서 어떤 문제인지 더이상 짐작가는바는 없습니다. 새글을 올려서 다른 분들의 피드백을 받아보시는게 어떤지요.
해를쏘다
IP 119.♡.111.176
12-07 2019-12-07 01:11:06
·
바쁘실텐데 신경써주셔서 감사드립니다. 아직 나린이라 공부할게 많다는걸 느낍니다. 좀 더 알아봐야겠네요^^
새로운 댓글이 없습니다.
  • 이미지 최대 업로드 용량 10 MB / 업로드 가능 확장자 jpg,gif,png,jpeg
    지나치게 큰 이미지의 크기는 조정될 수 있습니다.
목록으로
글쓰기
글쓰기
목록으로 댓글보기 이전글 다음글
아이디·비번 찾기 회원가입
이용규칙 운영알림판 운영소통 재검토요청 도움말 버그신고
고객지원
  • 게시물 삭제 요청
  • 쪽지 신고
  • 닉네임 신고
  • 제보 및 기타 제안
개인정보처리방침 이용약관 책임의 한계와 법적고지 청소년 보호정책
©   •  CLIEN.NET