컴퓨터반

컴퓨터반 게시판입니다.

제목라즈베리파이OS에 도커(Docker) 설치하기2021-10-09 14:31:38
작성자user icon Level 2

88x31.png

mb-file.php?path=2021%2F10%2F09%2FF3886_docker-logo.png 

1. 도커란?


도커라고 들어보셨나요? 

도커는 컨테이너 기반 오픈소스 가상화 플랫폼입니다.


컨테이너란 격리된 공간에서 프로세스가 실행되도록 하는 기술입니다.


버추얼머신(VM)이라고 들어보셨을겁니다. 버추얼머신은 격리된 공간에서 OS가 실행되도록 하는 기술입니다. 윈도우에 격리된 리눅스를 설치한 것이라 보면 됩니다. 쉽게말해서 컴퓨터 안에 가상의 컴퓨터가 있는겁니다.


버추얼머신은 이미 설치되어 있는 OS위에 새로운 OS를 실행시키기때문에 조금 무겁습니다.

그에 비해 도커는 기존 OS 위에 격리된 프로세스 공간을 만들어 실행시키때문에 가볍고 빠르게 동작합니다.


mb-file.php?path=2021%2F10%2F09%2FF3887_%EB%8B%A4%EC%9A%B4%EB%A1%9C%EB%93%9C.png

그렇다면 왜 도커를 사용할까요? 기존 OS위에서 프로세스를 실행시키면 되지않을까요?

이는 프로그램마다 운영환경이 다르기때문입니다.


예를 들어 A라는 프로그램은 파이썬3.8을 기반으로 작동하는데 OS에는 파이썬 3.5가 설치되어있다면 파이썬3.8을 추가적으로 설치해야합니다. '그럼 그냥 파이썬 3.8을 설치하면 되지'라고 생각하는 분도 있을겁니다.  하지만 프로그램은 무수히 많고 프로그램을 설치할때마다 환경을 따로 설정하는 것은 여간 번거로운 일이 아닙니다.


도커를 사용한다면 격리된 가상의 공간에 배포자가 작성한 운영환경에 필요한 라이브러리를 설치하여 프로세스를 실행시키게 됩니다. 즉 따로 프로그램에 맞춰 환경설정을 할 필요가 없다는 뜻입니다.




2. 도커 설치


우선 라즈베리파이에 원격로그인합니다.

윈도우를 기준으로 명령프롬프트를 이용하도록 하겠습니다.


win키 + R을 눌러 실행창을 열고 cmd를 입력하여 명령프롬프트를 엽니다.

mb-file.php?path=2021%2F10%2F09%2FF3888_2021-10-09.png
 

다음 명령어를 입력하여 라즈베리파이에 로그인합니다.

비밀번호는 저번 글에서 설정했습니다.

 > ssh pi@ip주소 


mb-file.php?path=2021%2F10%2F09%2FF3889_2021-10-09%20%281%29.png


다음 명령어를 입력하여 라즈베리파이를 최신상태로 업데이트 합니다.

 > sudo apt update

 ...

 > sudo apt upgrade


mb-file.php?path=2021%2F10%2F09%2FF3891_2021-10-09%20%282%29.png

다음 명령어를 입력하면 도커가 설치됩니다.

 > sudo curl -fsSL https://get.docker.com/ | sudo sh


mb-file.php?path=2021%2F10%2F09%2FF3892_2021-10-09%20%283%29.png
 

다음 명령어를 입력하여 도커가 설치되었는지 확인합니다.

 > docker ps


mb-file.php?path=2021%2F10%2F09%2FF3893_2021-10-09%20%285%29.png
 

권한이 없다고 나옵니다. 아래 명령어를 입력하여 도커권한을 부여합니다.

 > sudo usermod -aG docker pi


mb-file.php?path=2021%2F10%2F09%2FF3894_2021-10-09%20%286%29.png
 

재부팅하면 권한이 부여되어 있습니다.




3. 포테이너(Portainer) 설치


포테이너는 도커를 웹으로 관리하는 도구입니다. 포테이너를 도커에 설치하겠습니다.


우선 포테이너 데이터를 저장할 볼륨(공간)을 만듭니다.

 > docker volume create portainer_data


mb-file.php?path=2021%2F10%2F09%2FF3895_2021-10-09%20%287%29.png
 

아래 명령어를 입력하여 포테이너 컨테이너를 만듭니다.

 > docker run -d -p 9000:9000 --name portainer --restart always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce


-d : 백그라운드모드(detached mode) 실행

-p 9000:9000 : 호스트 포트를 컨테이너 포트에 연결 (호스트:컨테이너)

--name portainer : 컨테이너 이름

--restart aloways : 도커 실행시 컨테이너 실행 여부

-v 호스트:컨테이너 : 호스트 볼륨을 컨테이너 볼륨에 연결

portainer/portainer-ce : 이미지 이름


mb-file.php?path=2021%2F10%2F09%2FF3897_2021-10-09%20%2814%29.png
 

http://라즈베리파이 ip주소:9000 로 이동합니다.

로그인 계정을 만듭니다.

mb-file.php?path=2021%2F10%2F09%2FF3898_2021-10-09%20%2815%29.png
 

환경설정을 합니다.(로컬환경)

mb-file.php?path=2021%2F10%2F09%2FF3899_2021-10-09%20%2816%29.png
 

도커 상태를 확인할 수 있습니다. 컨테이너가 하나 생성되어있습니다. 포테이너 입니다.

mb-file.php?path=2021%2F10%2F09%2FF3900_2021-10-09%20%2817%29.png
mb-file.php?path=2021%2F10%2F09%2FF3901_2021-10-09%20%2818%29.png 

#도커#docker#포테이너#portainer
댓글
자동등록방지
(자동등록방지 숫자를 입력해 주세요)