라즈베리파이에
NAS를 구축하기 위해
다양한 시도를 했었다.
1. Seafile
- 외장하드를 추가하려 했으나
오류를 해결하지 못함...
2. OMV5 + Docker + NextCloud
- SDcard 64 GB 짜리에서
OMV5를 설치하면
라즈베리파이에 접속이 안됨...
그래서 이번엔
OMV 5를
제외하고
Docker와
NextCloud만
설치하려고 한다.
OMV 5 제외한 이유
OMV 5는
많은 사람들이
NAS로 소개하지만
막상 깔아보니
파일 관련 기능은 없고
라즈베리파이 OS를
Web UI로 제어하는 도구였다.
(사용자, 네트워크, 서비스,
패키지 설치 등)
어느정도 리눅스를
다뤄봤으면
OMV5에서 제공하는
기능들은
SSH로 접속해서
직접할 수 있기 때문에
제외했다.
Docker?
도커에 대한 자세한 설명은
인터넷에 많기도 하고
내가 깊게 공부하지도 않았기 때문에
간단히 설명하고자 한다.
도커 컨테이너는 일종의 소프트웨어를 소프트웨어의 실행에 필요한 모든 것을 포함하는 완전한 파일 시스템 안에 감싼다. 여기에는 코드, 런타임, 시스템 도구, 시스템 라이브러리 등 서버에 설치되는 무엇이든 아우른다. 이는 실행 중인 환경에 관계 없이 언제나 동일하게 실행될 것을 보증한다.
(* Wiki 설명)
내가 잘 이해한게 맞다면
도커는
아이폰이 앱을 설치하고
동작하는 방식과
유사하다고 생각하면 될 것 같다.
하나의 프로그램이
동작하기 위해 필요한
설정 파일, 실행 파일,
라이브러리 등을 포함하는
도커 컨테이너를 생성하여,
추후 도커 컨테이너로
프로그램을 설치하면
각각의 프로그램들은
각각의 컨테이너 영역
안에서만 동작하게된다.
가상 OS와의 차이점은
설치된 장비의
CPU, Memory는
영역을 따로 나누지 않고
공유하지만
실행되는 영역을 구분지어
다른 프로그램을 침범하지 않게
제한한다.
가상 OS는
CPU와 Memory를
가상환경 별로 나누지만
도커는 이를 공유하기 때문에
장비의 성능 손실이 최소화되며,
설치, 실행을
도커 컨테이너 안에서 해결되기 때문에
서버에 설치된
프로그램 관리가 수월해진다.
(컨테이너만 설치하고
컨테이너만 제거하면 된다.)
Docker 설치
설치는 간단하다.
$ sudo apt install -y docker.io
버전 확인은
v 옵션을 사용한다.
$ docker -v
Portainer 설치
Portainer는
도커 컨테이너 관리를
Web에서 할 수 있게
Web UI 환경을 구성해주는
도구이다.
컨테이너 수가 많아지면
일일히 관리하기
힘들어지니
관리 도구가
필요해서
설치한다.
설치는 도커로 하며,
도커 이미지는
아래 주소에서 받을 수 있다.
https://hub.docker.com/r/portainer/portainer
우선 이미지 구동전에
호스트와 데이터를 매칭 시킬
디렉토리를 생성한다.
$ sudo mkdir -p /data/portainer
다음 명령어로
Portainer 이미지를
다운받고
도커에 마운트
시킨다.
$ sudo docker run --name portainer -p 9000:9000 -d --restart always -v /data/portainer:/data -v /var/run/docker.sock:/var/run/docker.sock portainer/portainer
옵션:
--name: 컨테이너 이름
-p: 서비스 포트 설정
-d: 데몬(서비스)으로 백그라운드 실행
-restart always: 재부팅 시 자동 시작
-v /data/portainer:/data: 호스트와 컨테이너간 볼륨 매칭,
-v /data/run/docker.sock:/var/run/docker.sock: docker.sock도 공유,
portainer/portainer: portainer/portainer 이미지 사용
서버 접속
이제 Portainer로
접속한 후,
아래와 같이
설정한다.
1. 서버 접속
- http://<라즈베리파이 IP>:9000
2. 계정 생성
3. 로컬 연결
- Local > Connect 선택
처음 접속하면
계정을 생성할지 물어본다.
계정을 생성한다.
그 다음에는
연결할 Docker를 물어보는 데,
라즈베리파이에 설치된
도커를 연결해야하기 때문에
Local을 선택한다.
끝
이제 웹으로
도커를 관리할 수 있다.
다음 글에서
도커로 NextCloud 설치하는
방법을 소개하겠다.