시놀로지 나스에서 도커로 개발환경 꾸미기(우분투 20.04 설치)
시놀로지 나스의 가장 유용한 소프트웨어는? 바로 도커(Docker)
시놀로지 나스 DS220+ 를 구입한지는 대략 1달 정도가 된거 같습니다. 그동안 시놀로지 나스를 사용하면서 가장 유용하게 사용하고 있는 기능은 “도커(Docker)” 라고 볼 수 있습니다.
도커는 Virtual Box, VMWare 같이 Virtual Machine 즉 가상머신과 비슷한 “컨테이너” 형태로 실행되고 관리가 되며 컨테이너를 동시에 생성하여 여러 OS를 동시에 구동하여 사용하는게 가능합니다.
시놀로지 나스에서는 이 도커를 구동할 수 있습니다. 따라서 도커의 컨테이너를 실행하고 우분투 같은 OS 를 구동하면 나스에서 파일공유 기능 외에 우분투를 설치하여 사용하는게 가능해 집니다.
시놀로지 나스에서도 컨테이너를 여러개 생성할 수 있습니다. 우분투 같은 리눅스를 여러개 설치가 가능해집니다. 그리고 도커를 사용하면 컨테이너의 백업과 삭제가 매우 자유롭기 때문에 장점이 많습니다.
최근에는 수많은 서버나 컴퓨터들이 “도커”의 컨테이너로 여러 OS를 설치하여 동시에 구동하는 방식으로 시스템을 구성하는 경우가 많아졌습니다. 도커는 한개의 물리적 서버나 컴퓨터에 여러개의 논리적 공간을 할당할 수 있으니 꽤 효율적입니다.
저는 그래서 시놀로지 나스를 구입하고 나서 제일 먼저 사용한 기능이 “도커” 였습니다. 그리고 나서 우분투 20.04 컨테이너를 설치하고 현재 개인 개발용 서버로 활용중에 있습니다. 파이썬으로 이것 저것 해보고 있는데 개인 개발 PC를 사용하는 거에 비해 소음이나 전기세 측면에서도 훨씬 유리한 부분이 있네요.
시놀로지 나스만 켜놓고 있으면 파일을 저장하는 용도와 VPN 서버, 도커로 구동하는 우분투를 동시에 사용할 수 있으니 1석 3조 이상의 효율을 지니고 있습니다.
그럼 시놀로지 나스에서 도커를 설치하고 설정하는 방법에 대해 알아보겠습니다. 관련하여 우분투 20.04 설치 방법까지 소개해 봅니다.
시놀로지 나스 DS220+ 에서 도커 설치하기(우분투 20.04 설치)
시놀로지 나스를 시작한지 얼마 되지 않았다면 도커가 설치되어 있지 않을 가능성이 높습니다. 시놀로지 DSM 에서 모든 소프트웨어는 “패키지 센터” 를 통해 설치를 쉽게 할 수 있습니다. 도커를 설치하기 위해 DSM에서 패키지 센터로 들어갑니다.
모든 패키지에 들어가서 아래로 스크롤을 쭉 내려보면 “Docker” 라는 항목이 나타납니다. 설치가 되지 않았기 때문에 “설치” 버튼을 눌러서 설치를 진행합니다.
다음으로 패키지를 설치할 볼륨을 선택한 뒤 “다음” 을 누릅니다.
설정 확인에서 특별한 게 없다면 “완료” 를 누르면 설치가 진행됩니다.
도커가 설치가 진행되는 것을 알 수 있습니다.
설치가 완료가 된 후 DSM의 시작 버튼을 누르면 위와 같이 “Docker” 라는 아이콘이 생성된 것을 확인할 수 있습니다. 이 아이콘을 클릭합니다.
그러면 위와 같이 시놀로지 나스의 도커 설정 화면이 나타나게 됩니다. “이것을 다시 표시 안함” 을 체크하고 시작 창을 닫아줍니다.
먼저 왼쪽 메뉴의 “레지스트리” 를 클릭합니다. 여기서는 도커 컨테이너에 탑재할 소프트웨어 이미지를 다운로드를 하면 됩니다. 일단 여기서는 우분투 20.04 를 설치해보도록 하겠습니다. 오른쪽 검색창에서 “ubuntu” 라고 검색을 하면 위와 같이 우분투 관련 다운로드 S/W 이미지들이 나타납니다.
여기서 젤 위에 별 표시가 많이 되어 있는 ubuntu 라는 이미지를 다운로드 하면 될거 같습니다. 선택을 하고 나서 상단의 “다운로드” 버튼을 누릅니다.
그럼 태그를 선택하라고 합니다. 여기서는 우분투 버전인데 저는 20.04 를 선택했습니다. 선택 버튼을 누릅니다.
우분투 이미지가 다운로드가 진행이 되고 나서 왼쪽 메뉴의 “이미지” 를 클릭해 보면 위와 같이 우분투 20.04 이미지가 다운로드 된 것을 확인할 수 있습니다.
다음으로 “컨테이너” 를 생성해 보겠습니다. 왼쪽 메뉴에서 “컨테이너” 를 클릭하면 위와 같이 컨테이너 리스트가 나타납니다. 여기서 “생성” 버튼을 눌러서 컨테이너를 생성합니다.
그럼 위와 같이 컨테이너 생성 마법사가 시작됩니다. 위에서는 네트워크를 설정하는 부분인데 위와 같이 되어 있으면 “다음” 으로 넘어가면 됩니다.
다음으로 컨테이너 이름을 설정해 줍니다. 저는 ubuntu1 이라는 이름을 지정했습니다. 그 외에는 지금 설정하지 않아도 되므로 “다음” 버튼으로 넘어갑니다.
다음으로 컨테이너의 포트를 추가합니다. 저는 우분투의 SSH 포트를 사용할 예정이므로 “추가” 버튼을 눌러서 추가를 하겠습니다.
포트는 여러 설정이 가능하나 저는 일단 쉘을 접속하기 위한 SSH 포트 1개만 설정했습니다. 로컬포트는 시놀로지 나스의 포트이고 컨테이너 포트는 도커 컨테이너의 우분투 20.04 포트입니다. 즉 7321과 22 포트를 맵핑시킨다고 생각하면 될꺼 같습니다. 설정이 끝났으면 “다음” 으로 넘어갑니다.
다음으로 볼륨 설정 부분인데 아직 설정할 필요가 없어서 저는 넘어갔습니다. 단 나스의 공유폴더에 컨테이너 볼륨을 매핑하고 싶다면 파일이나 폴더를 추가해 주면 됩니다. 설정이 끝났다면 “다음” 으로 넘어갑니다.
마지막으로 컨테이너 생성에 대한 부분을 다시 요약해 줍니다. 여기서 확인이 되었으면 “완료” 버튼을 눌러서 컨테이너 생성 및 실행을 진행하면 됩니다.
자 그럼 컨테이너의 상태를 확인해 볼까요? 컨테이너 리스트에서 “세부사항” 을 클릭하여 보면 위와 같이 ubuntu1 컨테이너의 상태 정보가 표시됩니다.
여기서 터미널을 선택하면 위 창에서 좀전에 설치한 컨테이너의 우분투 20.04 터미널이 실행됩니다. 초기에 설치한 우분투 20.04 는 기본적인 패키지만 들어있기 때문에 SSH를 사용하려면 SSH 패키지를 설치해야 됩니다.
“apt-get install ssh” 로 SSH 데몬을 설치하면 이후에는 터미널 프로그램으로 ssh로 도커 컨테이너의 우분투 20.04에 접속하여 사용할 수 있습니다.
참고로 컨테이너에 터미널로 SSH를 접속하려면 맵핑한 로컬 포트로 접속해야 합니다. 도커의 컨테이너의 포트는 22지만 실제로 시놀로지의 로컬에서는 7321 포트로 접속을 해야 됩니다.
만약 외부에서 시놀로지 나스의 도커 컨테이너로 접근하려면 “VPN” 를 설정하여 사용하면 편리합니다. 관련해서 아래 링크 글을 참고하여 OpenVPN 으로 VPN 을 구성하는 것을 추천드립니다.
여기까지 했다면 이제 여러분은 시놀로지 나스로 도커를 통해 우분투 20.04 를 사용할 수 있습니다. 저는 현재 이 과정으로 우분투 20.04를 개인 개발 용도로 매우 유용하게 사용중입니다(with VPN)