NAS & ODROID/Docker NAS

Docker NAS - Docker 설치와 기본 지식

awesometic 2019. 4. 28. 01:49
반응형
  • 퍼가실 땐 링크로 퍼가주시고, 인용할 경우 출처를 꼭 남겨주세요.
  • 막히는 부분이나 이상한 부분, 더 괜찮은 아이디어는 댓글로 자유롭게 달아주세요.
  • 제 블로그에는 구글 광고가 삽입되어 있습니다. 괜찮으시다면 광고 한 번씩 눌러주세요. 힘도 되고 책임감도 높여줘서 글의 퀄리티가 향상됩니다. :)

Docker

도커란 오픈 소스 컨테이너 프로젝트입니다. 2013년에 출시했기 때문에 아직도 굉장히 젊은 프로그램이에요.

적은 용량과 쉬운 사용법에 비해 거의 호스트 운영체제와 같은 성능을 내기 때문에 분산 처리 시스템이나 대형 서버에도 많이 쓰이고 있습니다.

Container와 Image

오픈 소스 컨테이너가 무슨 말일까요? 오픈 소스는 그럭 저럭 알겠는데, 컨테이너란 말이 감이 안 오실 수 있습니다.

컨테이너이미지를 한 줄로, 아래와 같이 생각하시면 됩니다.

  • 컨테이너: 가상 운영 체제를 담는 가상 공간
  • 이미지: 실행하고자 하는 컨테이너의 파일

그리고 가상 운영 체제가 나온 이상 한 가지 용어만 더 알고 계시면 됩니다.

  • 호스트 운영체제: 가상 운영 체제(도커의 컨테이너)를 담는 진짜 운영체제. 호스트 PC는 그 시스템입니다.

세 가지 용어로 예를 들어 볼게요.

우분투를 도커를 통해 가상 머신으로 실행하고 싶다고 가정합니다.

  1. 호스트 PC에서 우분투 이미지를 다운받고,
  2. 다운 받은 이미지를 도커로 실행합니다.
  3. 우분투 컨테이너가 생성됩니다.

그리고 생성된 우분투 컨테이너에 저희가 접속해서 진짜 우분투 시스템에 들어간 듯 여러 가지 일을 할 수 있는 거예요. 여기서 호스트 PC는 어떤 운영체제든 상관 없습니다.

만약 그냥 우분투가 아니라, 웹 서버를 실행하는 컨테이너라면, 호스트 PC대신 그 컨테이너가 웹 서버에 필요한 파일들과 설정값들을 갖고 실행해 주고 있는 거예요.

마지막으로, 모든 도커의 컨테이너들은 호스트 PC의 자원을 공유합니다. CPU나 RAM, 저장 공간 모두 호스트 PC의 것을 가져가기 때문에 컨테이너의 성능은 호스트 PC 성능에 비례해요.

이 정도면 도커 기초는 이해했다고 볼 수 있고, NAS로 구성하기 위해선 이 정도만 알고 출발하시면 됩니다.

Docker NAS

그럼 이제 NAS 구축에 필요한 이미지만 구하면 됩니다. 이미지로 컨테이너만 실행시켜주면 알아서 서비스가 동작하거든요. 가끔 서비스 업데이트를 위해 최신 이미지로 다시 실행시켜주면 됩니다.

보통 NAS를 클라우드 스토리지, 미디어 스트리밍 서버, 웹 사이트, 데이터베이스 서버 등으로 사용하는데요.

이번 Docker NAS 가이드에선 제가 사용하는 서비스들 위주로 올려볼까 합니다.

  • Seafile: Dropbox같은 클라우드 스토리지 서비스
  • Plex Media Server: 외부에서 접속해서 볼 수 있는 미디어 서버
  • Transmission: 토렌트 클라이언트
  • h5ai: 웹 자료실

그리고 전 현재 사용하지 않지만 괜찮은 서비스 몇 개 더,

  • Wordpress: 개인 웹 사이트
  • MariaDB: 개인 데이터베이스. 보통 웹 사이트 연동

총 6가지입니다.

이 이미지들은 모두 Docker Hub에 있습니다. 도커 공식 저장소라 명령어로 간단히 설치할 수 있어요.

처음엔 어렵지만 알고보면 우분투나 OMV NAS 구축보다 훨씬 쉬울 거라고 장담합니다.

반응형