라즈베리 파이에 도커 설치하고 사용하다 보면, 매번 명령어 입력하는 것이 귀찮아진다. 데스크톱에서는 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
공유기 설정
라즈베리파이로 포트 열어주기
접속 테스트
위 설정대로 http://192.168.0.101:9000 으로 접속하면 초기 암호 정하는 화면이 나온다.
암호를 정한 후 다음과 같은 화면이 나오는데, 현재 포트레이너가 실행되는 도커 인스턴스를 관리하는 첫번째 옵션을 설정해준다.
노트
이미 도커 인스턴스의 소켓을 포트레이너 내부로 볼륨 마운트 해놓았다.
로그아웃 후 다시 접속하면 잘 된다.