• 돌아가기
  • 아래로
  • 위로
  • 목록
  • 댓글

시놀로지/헤놀로지 Docker 컨테이너 CLI로 실행하기

ExpBox ExpBox 1665

3

17

안녕하세요 expbox입니다.

 

요즘 Docker에 빠져살고있습니다. 시놀로지에도 Docker 패키지를 설치해서 사용하고 있는데 GUI 환경이 한눈에 보는 것이 편한것은 맞습니다. 하지만 컨테이너를 만들 때 환경변수가 적으면 큰 문제가 아니지만 환경변수가 너무 많을 때는 귀찮기도 합니다. 이럴 때 CLI로 실행하기도 하는데 이 방법을 알려드리도록 하겠습니다. SSH를 사용하지 않으며 DSM 환경에서 간편하게 실행하는 것이니 너무 겁먹지 않으셔도 괜찮습니다.

 

시놀로지/헤놀로지 크게 상관 없이 이 방법을 사용해서 컨테이너 실행이 가능하나 혹시나 ARM 버전의 경우 Docker 이미지 선택 시 ARM으로 태그된 이미지가 없다면 사용이 어려운 점 말씀드립니다.

 

docker-compose는 아래의 달소님께서 잘 설명해두셨으니 따라하시면 될 것 같습니다.

https://svrforum.com/nas/44148

안녕하세요 달소입니다.   오늘은 시놀로지(헤놀로지)에서 docker-compose를 이용하는 방법입니다.   docker-compose는 ...
달소 | 2021.06.24

 


 

참고사항

사용기기: DS1821+

DSM 버전: DSM 7.1-42661

Docker 패키지 버전: 20.10.3-1306

 


 

전체적인 방법은 Docker 패키지 설치 -> 작업 스케줄러를 통한 CLI 실행입니다.

 

준비사항

 

먼저 Docker를 사용하기 위해서는 설치를 해야겠죠? 패지키 센터에서 Docker를 설치합니다.

image.png.jpg

 

그리고 사용할 폴더의 경로입니다. 경로를 확인하는 방법은 우클릭 -> 속성 -> 위치에 있습니다.

image.png.jpg

CLI 실행방법

 

https://svrforum.com/svr/257456

안녕하세요 Expbox입니다. 어제 출장 때문에 피곤해서 정줄 놓고 있다가 초보나스님께서 kavita에 대해서 소개해달라고 요청하셔서 도커로 올리는 방법까지 간단하게 올려보겠습니...
ExpBox | 2022.04.16

예제로 제가 작성했던 kavita를 사용하겠습니다.

 

실행 방법 또한 간단합니다. DSM의 제어판 -> 작업 스케줄러로 접속합니다.

image.png.jpg

 

생성 -> 예약된 작업 -> 사용자 정의 스크립트를 순서대로 클릭합니다.

image.png.jpg

 

작업 이름을 설정합니다.

여기서 주의할 점은 사용자를 root로 지정하시면 대부분은 실행됩니다. 하지만 가끔 권한 문제가 생기는 것은 환경설정할 때 PID GID를 설정해야할 수도 있습니다.

image.png.jpg

 

스케줄은 계속 실행하는 것을 막기 위해서 [다음 날짜에 실행]으로 설정합니다.

image.png.jpg

 

-v 에 앞서 앞서 확인했던 경로를 입력하고 바인딩해줍니다. 주의할 점은 한글 경로가 존재하면 실행에 실패하기 때문에 가급적 한글 경로를 사용하지 않으시는 것을 권장드립니다. 하지만 이렇게 '만화' 같이 작은 따옴표로 한글을 지정해주면 정상적으로 사용이 되니 참고하시면 되겠습니다.

image.png.jpg

 

또한 포트는 당연하지만 DSM에서 사용하는 포트인 5000과 5001은 사용할 수 없습니다. 꼭 확인하시길 부탁드립니다. (여담으로 5000:5000으로 해봤는데 열리지가 않아서 당황했습니다.)

 

확인을 누르면 root 계정을 사용하여 실행하기 때문에 경고 메시지가 뜨지만 확인을 누르면 됩니다.

 

처음에는 이렇게 체크표시가 되어있는데 컨테이너를 계속 실행할 것이 아니고 일회성으로 사용할 것이기 때문에 해제하고 적용합니다.

image.png.jpg

 

그리고 우클릭 -> 실행 으로 작업을 실행합니다.

 

조금 기다린 후 Docker 관리페이지를 들어가면 이렇게 실행중인 것을 확인할 수 있습니다.

image.png.jpg

 

열어놓은 포트로 접속하면 이렇게 잘 됩니다.

image.png.jpg

 

스샷은 없지만 admin 계정 생성 후 Library까지 설정해본 결과 정상적으로 되는 것을 확인할 수 있었습니다.

 


 

혹시나 실행에 실패하여 Docker 패키지에 뜨지 않는다면

 

SSH로 접속해

 

docker ps -a

로 도커의 모든 컨테이너를 검색한 후 실행되지 않은 컨테이너를 확인하고

 

docker rm 컨테이너 이름 혹은 id

으로 삭제하시면 됩니다.

 

작업 스케줄러를 사용한다면

docker rm 설정한 컨테이너 이름

을 root 계정으로 실행하시면 됩니다.

 


 

부족한 점이 있다면 말씀해주시면 반영하겠습니다. 감사합니다.

신고공유스크랩
17
profile image 1등
달소 2022.04.17. 18:39

오호.. 이런식으로 시놀 웹에서도 사용할수있군요 ㅎㅎ

좋은정보감사합니다

profile image
ExpBox 글쓴이 2022.04.18. 03:25
달소

맞습니다. 밑을 보시면 아시겠지만 일반적인 디렉터리나 파일을 바인딩할 때는 별로 필요없지만 Portainer, Netdata 등이 사용하는 특수한 시스템 파일 등을 바인딩하기 위해서는 사용해야합니다.

profile image
ExpBox 글쓴이 2022.04.18. 03:21
koreafood

소개되어있는 도커 종류가 많네요. 저도 확인해보고 가이드 더 적어봐야겠습니다. 감사합니다.

3등
KelvinKang 2022.04.18. 00:05

portainer 설치하고, stack 으로 관리하시는게 더욱 효율적 입니다.

해당방법은 시놀로지와 헤놀로지에서만 해당되지만,

portainer의 stack을 이용한 방법은 docker만 설치되어 있다면 어디서든 통용됩니다.

profile image
ExpBox 글쓴이 2022.04.18. 03:12
KelvinKang

맞습니다. 하지만 portainer를 사용하려면 docker.sock 파일을 바인딩해야하는데 시스템 파일은 일반적인 방법으로는 바인딩이 안되는 것으로 알고있습니다. 따라서 이 방법으로 portainer 컨테이너를 처음 실행할 때 사용하시면 좋을 것 같습니다.

 

또한 효율적이라기에는 뭐하지만 이렇게 작업 스케줄러에 CLI로 저장해두면 정품 시놀로지의 자동 백업 시스템 혹은 수동 내보내기(.dss)로 내보내면 다 저장되어있습니다. 하이퍼 백업으로 완전 초기화 후 전부 복원했다고해도 새로 깔았을 때는 도커 컨테이너가 실행되어있지 않기 때문에 이 방법으로 한번에 다시 원상복구 시킬 수도 있습니다.

KelvinKang 2022.04.18. 08:50
ExpBox

portainer 설치 자체가 시놀로지에서는 문제가 되는것을 깜박했네요.

주의사항이랄까, 하나는 Volume 을 무조건 Docker Volume이 아닌 시놀로지의 디스크에 마운트 해두셔야 겠군요.

그리고 그 폴더들은 항상 백업 해둬야 겠군요..

 

그래야.. Docker 를 살려도.. 저장된 데이터를 불러 올테니까요..

profile image
초보나스 2022.04.18. 03:29

오후에 다시 한번 해봐야겠네요 감사합니다 ExpBox 님

물론 실패할수도 있겠지만 다시 도전해보겠습니다

 

profile image
초보나스 2022.04.20. 05:53

ExpBox님 혹시 도커 처음 설치할때 제가 원하는 볼륨 에 설치는 불가능한가요?

자꾸 한곳에서만 설치해서요 다른 볼륨에 설치하고 싶은데 1번에만 설치해서요

profile image
ExpBox 글쓴이 2022.04.20. 11:01
초보나스

도커 패키지를 원하는 볼륨에 설치하는 것을 원하신다면

패키지 센터 -> 설정 -> 기본볼륨을 항상 묻기 아니면 다른 볼륨으로 설정해두시면 될 것 같습니다.

profile image
초보나스 2022.04.20. 12:22
ExpBox

감사합니다 도커 설치하고 바로 해보겠습니다 모르는거 질문 많이 드릴수 있어요 ^^

profile image
초보나스 2022.04.21. 13:47
ExpBox

11.png.jpg

 

 

저의 경우 이렇게 표시되는데요 여기서 위에 적어주신 거랑 달라서 못하고있네요 생각보다 엄청 어렵네요

2.png.jpg

profile image
ExpBox 글쓴이 2022.04.21. 13:53
초보나스

폴더는 사용하실 폴더의 속성에서 경로를 보시고 지정하시면 됩니다. config는 Kavita의 잡다한 설정파일이 들어있는 폴더입니다. Kavita 컨테이너 생성시 꼭 필요한 폴더입니다. manga는 말 그대로 만화가 들어있는 폴더구요. 각 폴더는 같은 볼륨이 아니라도 괜찮습니다. -v 실제 경로 : 컨테이너의 경로 라고 생각하시면 조금 이해가 되시려나 모르겠습니다.

stonehenge 2022.06.22. 20:39

안녕하세요. 찾다찾다 여기까지 왔습니다...ㅠ

시놀 가정용으로 쓰고 있는 이쪽계통 지식 전무한 사람입니다.

테라리아라는 게임을 도커 컨테이너 설치해서 잘 되는것 확인했는데

시놀을 껐다 키거나, 컨테이너를 껐다 키면 터미널 마무리 작업을 다시 해줘야 서버가 실행되는 것 같습니다..

coolenjoy.net/bbs/37/164564?page=90&device=mobile

이글 참고했는데, 터미널에서 [1입력-플레이어수-포트-자동포워딩여부y-비밀번호] 이 작업을 매번 다시 해줘야 서버가 시작됩니다....ㅠ

혹시 올려주신 작업 스케쥴러에 스크립트에서 가능할까요?(ssh방식은 하다 포기했습니다ㅠㅠ)

profile image
ExpBox 글쓴이 2022.06.22. 21:38
stonehenge

서버인데 굳이 끌 필요가 있는지는 모르겠습니다. 관련해서 확인했고 쿨엔 말고 도커 허브에서 서버 여는 것 확인하고 실행까지 완료했습니다. 이 과정에서 자동으로 맵을 생성하도록 하는 것까지는 했으나 이 경우 도커 컨테이너 재시작 시 또 맵을 생성하는게 아닌가 싶어서 정확히 된건지 확인이 안됩니다. 제가 테라리아를 구매한게 아니라서요.

profile image
ExpBox 글쓴이 2022.06.22. 21:43
ExpBox

MD5 확인하니 .wld 파일에 변화가 있지는 않았습니다. 아마 재시작해도 큰 문제는 없을 것 같습니다. 하지만 이 경우 처음 컨테이너 생성한 뒤 컨테이너를 재시작하는 것이 아니라 삭제 후 다시 만들게 되면 방법이 살짝 달라지기 때문에 이 경우를 해결하기 위한 방법을 조금 더 찾아보고 정리해서 게시글 작성해놓겠습니다.

stonehenge 2022.06.22. 21:52
ExpBox

안쓰는 새벽 시간대 전기세 조금이라도 줄여볼까 했습니다 ㅜ 답변 감사합니다.

댓글 쓰기 권한이 없습니다. 로그인

취소 댓글 등록

cmt alert

신고

"님의 댓글"

이 댓글을 신고하시겠습니까?

댓글 삭제

"님의 댓글"

삭제하시겠습니까?


목록

공유

facebooktwitterpinterestbandkakao story

등록된 글이 없습니다.