안녕하세요.
오늘은 라즈베리파이에 도커를 설치해보겠습니다.
1. 도커란?
도커는 오픈소스 가상화 플랫폼으로써 컨테이너라는 개념을 기반으로 운용됩니다.
각종 소프트웨어와 실행환경을 컨테이너라는 개념으로 묶어
어떤 환경에서도 동일한 인터페이스를 제공합니다.
따라서 프로그램의 유지보수에 유리하여 서버 운영에 최적화되어있습니다.
데이터베이스, 웹서버 등 온갖 프로그램을 구동 할 수 있어서
다양한 환경에서 다용도로 쓰이고 있으며
특히 AWS(Amazon Web Service) 같은 클라우드 환경에서도 잘 작동하기때문에
상업적으로 서버를 운용하는 용도로도 매우 편리합니다.
2. 컨테이너란?
컨테이너는 완전히 단절된 환경에서 작업을 하게 해주는 기술입니다.
얼핏 들으면 가상머신과도 비슷해보이지만
아주 큰 차이가 있습니다.
호스트 OS위에 가상화된 게스트 OS를 사용하는 가상머신과는 달리
컨테이너는 각각의 소프트웨어를 완전히 격리된 환경에서 구동하기 때문에
불필요한 리소스를 사용하지않아 성능 면에서 우월합니다.
3. 이미지란?
컨테이너 구동에 필요한 파일과 설정값을 저장한 것이 바로 이미지입니다.
이미지는 수정이 불가능하며 구동 후 변경되는 설정들은 컨테이너에 저장됩니다.
하나의 이미지로 여러개의 컨테이너를 생성할 수 있으며
컨테이너가 변경, 삭제 되더라도 이미지는 처음 그대로 남아있습니다.
다시말해서 이미지에는 소프트웨어 구동에 필요한 모든 정보가 포함되어있으므로
사용자는 그냥 이미지를 이용해 컨테이너를 생성하기만 하면 됩니다.
도커 이미지는 DockerHub에서 등록하거나 다운받을 수 있습니다.
4. 도커를 설치하기에 앞서
우선 라즈베리파이를 최신 버전으로 갱신시켜줍니다.
다음 명령어를 입력해주세요.
sudo apt update
sudo apt upgrade
업데이트를 마시쳤다면 본격적으로 설치해보도록 하겠습니다.
5. 도커 설치하기
도커를 설치하는 명령어는 다음과 같습니다.
sudo apt install docker.io
도커를 다 설치하셨다면 한번 확인해보겠습니다.
다음은 라즈베리파이에서 도커가 실행중인지 확인하는 명령어입니다.
ps auwx | grep docker #|는 shift + \를 입력하시면 됩니다.
다음은 컨테이너 목록을 출력하는 명령어입니다.
sudo docker ps
잘 동작하고있군요.
6. 포테이너 설치
6-1. 포테이너란?
포테이너란 WebUI 형태로 도커를 관리할 수 있게 해주는 프로그램입니다.
도커를 사용할때마다 시커먼 터미널에 몸서리치셨다면
포테이너를 설치하신 후 신세계를 맛보실 수 있습니다.
6-2. 포테이너 데이터를 저장 할 폴더 생성
이미지 구동전에 호스트와 데이터를 매칭 시킬 폴더를 생성합니다.
mkdir -p /data/portainer
6-3. 포테이너 이미지 다운로드 및 마운트 하기
다음과 같은 명령어로 포테이너의 이미지를 다운로드하고, 도커에 마운트시킵니다.
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~ 호스트와 컨테이너간 볼륨 매칭, docker.sock도 공유, portainer/portainer이미지 사용
이제 포테이너 설치가 끝났으니 웹 브라우저의 주소창에
라즈베리파이_IP:9000를 입력하여 접속하겠습니다.
사용할 계정명과 비밀번호를 입력하고 Create user 버튼을 클릭하시면 계정이 생성됩니다.
이제 다음 사진과 똑같이 따라해주세요.
접속 설정인데 우리는 로컬로 접속할거라서 Local탭에서 Connect 버튼을 눌러줍니다.
7. 도커 사용해보기
설치도 다 끝냈으니 도커를 사용해보겠습니다.
우선 아래 링크에 접속하여 이미지를 검색해보겠습니다.
아래와 같이 검색하시면 됩니다.
다행히도 우분투 이미지가 있군요.
아래 사진과 같이 ARM64라는 문구가 있어야
라즈베리파이에서 구동이 가능합니다.
이제 포테이너에서 이미지를 다운받아볼게요.
좌측에서 네모 두개가 겹쳐진 탭을 클릭하시고
Image란에 ubuntu라고 입력하신 후 Pull the Image버튼을 클릭합니다.
잠시동안 이미지 다운로딩이 진행된 후 다운받은 이미지를 사용할 수 있게됩니다.
다운받은 이미지를 사용하기 위해서
볼륨을 생성해보겠습니다.
볼륨을 생성하면 컨테이너 삭제시 데이터도 함께 삭제되는 경우를 방지할 수 있으며
자유롭게 이동, 공유가 가능합니다.
좌측의 Volumes탭을 클릭하고, Add Volume버튼을 눌러줍니다.
이제 생성할 볼륨의 이름을 정해줍니다.
이번엔 컨테이너를 생성하겠습니다.
좌측의 Containers탭을 클릭하신 후 Add container 버튼을 눌러주세요
컨테이너의 이름을 정하고
아까 다운받은 이미지의 이름을 입력합니다.(앞의 몇글자만 입력하면 자동완성 됩니다.)
하단의 Deploy the container버튼을 눌러줍니다.
자 이제 도커에 탑재된 우분투를 실행해보겠습니다.
다음 명령어를 실행시켜주세요.
sudo docker run -it ubuntu /bin/bash
아래와 같은 화면이 나온다면 성공적으로 설치된겁니다.
수고하셨습니다.
'라즈베리파이 > 왕초보' 카테고리의 다른 글
라즈베리파이[9] - 아두이노로부터 읽어들인 센서값 라즈베리파이의 데이터베이스에 저장하기 (28) | 2020.07.09 |
---|---|
라즈베리파이[8] - 삼바 설치하기 (0) | 2020.04.20 |
라즈베리파이[6] - 외장하드 연결하기 (0) | 2020.04.17 |
라즈베리파이[5] - 한글 설치하기 (0) | 2020.04.15 |
라즈베리파이[4] - 외부에서 접속하기 (2) | 2020.04.10 |