도커 컨테이너 관리를 웹으로 portrainer.io

watch_later 화요일, 6월 13, 2017

라즈베리 파이에 도커 설치하고 사용하다 보면, 매번 명령어 입력하는 것이 귀찮아진다. 데스크톱에서는 kitematic 프로그램이 있는데 라즈베리는 어떨지 찾아보았다.


portrainer.io

포테이너는 부두(Docker)에 컨테이너를 옮기는 크레인을 말한다. 즉, 도커 내부에 컨테이관련 작업을 전담하는 프로그램을 상징한다고 볼 수 있다.

원격으로 관리할 수도 있고, 같은 로컬에 있는 컨테이너를 관리할 수도 있다. 여기서는 같은 도커 머신 내부의 컨테이너를 관리하려고 한다.

구조와 원리

포트레이너 컨테이너에다가 호스트 도커의 소켓을 마운트 시키고, 이 호스트 도커 소켓을 통해서 다른 도커 컨테이너와 통신하게 한다.

-v '/var/run/docker.sock:/var/run/docker.sock'

호스트의 /var/run/docker.sock 을 포트레이너 컨테이너 내부의 /var/run/docker.sock로 마운트 시키면, 포트레이너 내부의 /var/run/docker.sock 에 접근 시, 호스트 /var/run/docker.sock 로 접속하게 된다.

설치

일반 :

$ docker run -d --name portrainer -v '/var/run/docker.sock:/var/run/docker.sock' -p 9000:9000 portainer/portainer:arm

라즈베리파이 :

$ docker run -d --name portrainer -v '/var/run/docker.sock:/var/run/docker.sock' -p 9000:9000 portainer/portainer:arm

공유기 설정

라즈베리파이로 포트 열어주기

enter image description here

접속 테스트

위 설정대로 http://192.168.0.101:9000 으로 접속하면 초기 암호 정하는 화면이 나온다.

암호를 정한 후 다음과 같은 화면이 나오는데, 현재 포트레이너가 실행되는 도커 인스턴스를 관리하는 첫번째 옵션을 설정해준다.

enter image description here

노트
이미 도커 인스턴스의 소켓을 포트레이너 내부로 볼륨 마운트 해놓았다.

로그아웃 후 다시 접속하면 잘 된다.

enter image description here



sentiment_satisfied Emoticon