시놀로지 도커 설치 - sinolloji dokeo seolchi

잡담 도커 안 되는 시놀로지 NAS에 도커 설치해본 썰 (업데이트) 4

제가 요즘 시놀로지 NAS에 도커를 깔아서 이것저것 해보면서 사용법을 익히고 있습니다. 그런데 집에서 쓰는 NAS는 회사에서 쓰는 것과 달리 도커가 공식 지원되지 않는 모양이더군요. 듣자 하니 시놀로지 NAS는 모델명에 '+'가 붙은 것만 도커 설치가 된다고요.

제가 쓰는 NAS는 DS416j 모델인데, 검색해 보니 인텔 CPU가 아니라 32비트 ARM 기반이라고; 혹시 몰라서 검색해 보니 그래도 방법은 있더군요. 방법:

https://stackoverflow.com/questions/52520008/can-i-install-docker-on-arm8-based-synology-nas

ARM 프로세서도 여러 종류가 있던데요. 위에 링크한 글에서는 시놀로지 NAS에서 보통 aarch64 계열 CPU를 쓴다는 모양이던데, 제가 검색한 바로는 DS416j 모델은 armhf 계열 도커를 설치해야 하는 것 같습니다.

https://download.docker.com/linux/static/stable/armhf/

요기서 설치 파일을 받을 수 있는데, 도커-19 버전은 도커 데몬 파일을 실행하면 세그멘테이션 에러 나더군요. 도커-18은 괜찮아서 docker-18.09.9를 받아서 설치했습니다. GUI는 당연히(?) 지원이 안 돼서 NAS에 SSH 접속한 다음 터미널로만 설치 및 사용해 봤고요.

그런데 황당한 문제. 도커 이미지를 받아서 실행할 때 -t 옵션을 주면 안 됩니다. 처음에는 에러 메시지가 나서 뭔가 하고 검색해 봤더니 TTY(가상터미널) 실행이 안 되는 것 같다고;

시놀로지 DS416j에는 어떤 괴악한 리눅스가 깔려 있나 싶어서

cat /etc/issue

해봤더니 그딴 거 없다고; uname -a 해봤더니 GNU/Linux라고 나오네요. 우분투 데비안 뭐 그런 거 없나요;;

아무튼 그래서 -i 옵션만으로 실행해 봤습니다:

sudo docker run -i --rm --network=host ubuntu

처음에 명령 프롬프트가 안 떠서 이것도 안 되는 줄 알았는데 사실 되는 거였습니다. 단지 터미널 프롬프트가 없을 뿐. 이게 뭐야... -_-;

프롬프트 변경하는 방법 검색해서 해봤는데 안 먹습니다. -_-;;

그 과정에서 알게 된 거. 32비트 ARM 아키텍처에 맞는 우분투에서는 vim이 깔려있지 않고 설치도 안 됩니다.

데비안으로 해봤는데… 설치는 됩니다. 그런데 터미널이 그 옛날 하이텔 같은 넘이라 vim이 정상적으로 작동하지 않습니다. 모든 인풋이 문자로 표시되기 때문에 한석봉 불 꺼놓고 타이핑하는(?) 기분을 맛보게 됩니다. 그나마 특수문자 입력은 문제가 생기고요. nano처럼 캐릭터그래픽(?) 인터페이스를 사용하는 건 설치가 안 되거나 설치가 돼도 실행이 안 되거나 하더군요.

마지막으로, 도커 허브에 있는 arm32용 도커 이미지 목록입니다:

https://hub.docker.com/u/arm32v7

뭐가 꽤 많이 있기는 한데, 저 같은 엔드유저 입장에서 쓸 만한 게 사실상 하나도 없네요. centos, fedora 뭐 이런 거 깔아볼까 하다가 데비안이랑 매한가지일 듯해서... 

제가 리눅스건 도커건 죄다 초보라 중간에 뭔 바보짓이 있었는지는 모르겠지만, 아무튼 이랬습니다. 결론은, 집에서 쓰는 NAS는 그냥 조금 스마트한 파일 서버로만 생각하기로…

나중에 붙임. 

DNS 캐시 서버 이미지 qmcgaw/cloudflare-dns-server를 써보다가, 얘가 arm32 빌드가 있는 걸 우연히 발견하고는 DS416j에도 설치해 봤습니다. unbound를 기반으로 DNS over TLS 기능 있는 앱입니다.

됩니다! 실행 명령에 이런 식으로 해주면 됩니다:

docker run -d --rm --network=host --user=root -e UNBLOCK=clien.net -e BLOCK_ADS=on -e BLOCK_SURVEILLANCE=on --name cloudflare-dns-server qmcgaw/cloudflare-dns-server

* 실행 명령에 --user=root 구문을 넣어야 정상적으로 실행됩니다.

* 현재 알 수 없는 이유로 클리앙이 차단 리스트에 들어가 있으므로 UNBLOCK=clien.net 옵션을 넣어야 합니다.

* BLOCK_ADS=on 옵션은 기본값이 off인데 광고 차단하면 좋을 것 같아서 켜놨습니다. 모든 광고를 다 막는 건 아니지만 어지간한 건 막네요.

* BLOCK_SURVEILLANCE=on 옵션은 뭔지 모르겠지만 아무튼 개인정보 보호에 도움이 될 것 같아서 켜놨습니다.

* 도메인 네임을 가져오는 서버는 기본값이 cloudflare입니다. 다른 걸로 바꾸려면 옵션을 따로 써주면 됩니다.

이제 저는 arm32 도커의 실사용자가 되었습니다. 잇힝~

GIF 파일 다운로드

0 0 0 0

GIF 파일을 다운로드 받으려면
화면에 표시된 4자리 번호를 입력해주세요.

이번에는 시놀로지 나스에서 도커를 이용해 게임 서버를 구축 해보는 작업을 작성하겠습니다.

저도 잘 알지는 못하지만

제가 구축했던 방식을 기록해서 나중에 까먹어도 사용할 수 있도록 하기 위해서 작성을 합니다.

도커 설치

도커는 간단하게 가상 리눅스라고 보시면됩니다.

윈도우에서 vmware로 가상 윈도우를 올리는것과 같은 개념으로 생각하시면 됩니다.

나스 DSM으로 접속해서 패키지센터에 Docker를 검색하고 설치해주세요

시놀로지 도커 설치 - sinolloji dokeo seolchi

시놀로지 도커 설치 - sinolloji dokeo seolchi

시놀로지 도커 설치 - sinolloji dokeo seolchi

설치된 Docker를 확인할 수 있습니다.

시놀로지 도커 설치 - sinolloji dokeo seolchi

Docker를 실행한 화면입니다.

구동되고 있는 컨테이너와

시스템 자원 사용량을 확인할 수 있습니다.

시놀로지 도커 설치 - sinolloji dokeo seolchi

레지스트리 탭에서 간단하게 검색해서 이미지를 다운로드 할 수 있습니다.

시놀로지 도커 설치 - sinolloji dokeo seolchi

다운로드 한 이미지가 여기에 표시됩니다.

(* 여기서 이미지는 사진 그림파일이 아닙니다.)

여기서 이미지를 선택해서 설정을 만지고 컨테이너로 구동할 수 있습니다.

시놀로지 도커 설치 - sinolloji dokeo seolchi

컨테이너 탭 입니다.

이미지를 컨테이너로 만들고 구동 시키는 부분을 여기서 합니다.

구동되고 있는 컨테이너를 끄거나 재부팅 삭제 등등 관리를 할 수 있습니다.

간단히 살펴본 도커 패키지 였습니다.

다음글은 마인크래프트 서버 구축을 하는 방법에 대해서 작성하겠습니다.

잘못된 정보는 지적 주시고

궁금한점은 댓글 주세용