[Docker] Dokémon, Docker 웹관리 페이지, WEB GUI for Docker
ㅁ 들어가며
docker를 관리하기 위해서 docker cli 혹은 Docker desktop을 사용할 것입니다.
ㅇ 터미널에서 docker cli를 통해 docker 컨테이너를 확인하는 모습.
ㅇ Docker Desktop을 통해 Mac 어플리케이션으로 docker 컨테이너를 관리하는 모습
외부에서 도커 컨테이너를 관리하기 위해서는 ssh 접속을 통해 docker cli를 사용하였는데, Dokémon을 통해 외부에서 웹을 통해 관리를 할 수 있습니다. 이번 글은 Dokémon을 설치하고 그 기능에 대해서 정리를 하였습니다.
ㅁ Dokémon이란?
ㅇ Dokémon는 웹 기반 도커 컨테이너 관리 GUI입니다.
ㅇ 도커 컴포즈 파일을 배포하고, 컨테이너를 시작/중지하고, 사용하지 않는 이미지를 삭제하고, 로그를 볼 수 있습니다.
ㅇ 현재 Dokemon은 독립형 Docker를 지원합니다.
ㅇ 향후 버전에서는 Docker Swarm 및 Kubernetes에 대한 지원이 추가될 예정입니다.
ㄴ 참조 문서: What is Dokémon
ㅇ 명칭은 Docker Manager -> DockMan -> DocMan -> Dokémon으로 변화하였는데, 정말 별다른 의미는 없다고 합니다.(Why is it named Dokémon?)
ㅁ 설치방법
# Create directory to store Dokemon data
mkdir ./dokemondata
# Run Dokemon
sudo docker run -p 9090:9090 \
-v ./dokemondata:/data \
-v /var/run/docker.sock:/var/run/docker.sock \
--restart unless-stopped \
--name dokemon -d productiveops/dokemon:latest
ㅇ Dokemon 데이터 폴더를 생성하고 docker 컨테이너를 생성하였습니다.
ㅇ port는 9090으로 설정하였습니다.
ㅇ 호스트 디렉터리에 데이터 저장
ㄴ 호스트에서 Dokemon 데이터에 쉽게 액세스하려면
호스트에 디렉터리(./dokemondata)를 만들고
위와 같이(/data) 바인딩 할 수 있습니다.
ㅇ Dokemon 접속한 첫화면 입니다.
ㅇ 아이디와 pwd를 설정하여 첫 사용자를 생성하였습니다.
ㅁ 멀리 노드 관리
ㅇ Node란 무엇입니까?
ㄴ Dokemon을 사용하면 단일 Dokemon 인스턴스를 사용하여 여러 서버를 관리할 수 있습니다. Node는 서버일 뿐입니다.
ㅇ 여러 Docker Node를 관리할 수 있습니다.
ㅇ 현재 Dokemon이 실행되는 Docker Node만 확인이 됩니다.
ㅇ Node를 선택하면 Docker의 상세 정보를 확인할 수 있습니다.
ㅁ 노드를 추가하는 방법
새로운 Dokemon 인스턴스를 설정한 후에는 노드 섹션에서 위 사진의 오른쪽 상단의 Set Server URL버튼을 볼 수 있습니다.
이 버튼을 클릭하고 Dokemon Server의 URL을 설정하세요. URL에 서버의 IP 주소, 호스트를 사용하십시오. 이 URL은 관리하려는 노드에서 액세스할 수 있는 EndPoint이어야 합니다.
이 URL을 설정하면 노드 추가 버튼(Add Node)이 활성화됩니다. 새 노드를 추가하고 이름을 지정하려면 이 버튼을 클릭하세요.
nodeTest란 이름의 노드를 생성하였습니다.
노드가 생성되면 해당 노드 행에서 Register 버튼을 볼 수 있습니다.
이 버튼을 클릭하면 Dokemon Agent를 설치하기 위한 스크립트가 생성됩니다.
이 스크립트를 복사하여 노드에서 실행하세요.
완료되면 Dokemon을 통해 노드를 관리할 수 있습니다.
현재는 신규 노트북에 도커만 설치한 상태여서, dokemon-agent 컨테이너만 떠 있네요.
ㅁ 노드에서 인바운드 포트를 열어야 합니까?
아니요, Dokemon Server는 에이전트에 대한 연결을 시작하지 않습니다. 대신 Dokemon Agent는 Dokemon Server에 대한 연결을 시작하고 서버의 명령을 수신합니다. 따라서 노드에서 인바운드 포트를 열 필요가 없습니다.
ㅁ Deploy Compose Projects 관리
ㅇ Github에 있는 레드마인 Docker Compose파일을 실행하였습니다.
ㅇ 해당 경로를 입력하고 Load File Content를 클릭하면, Git에 저장된 compose 파일의 내용을 확인 할 수 있습니다.
ㅇ Save를 클릭하면 프로젝트가 정상 생성되었다는 성공알람을 확인할 수 있습니다.
ㅇ 컴포스 실행을 위한 테스트로 환경변수 설정이 되어 있지 않아서 실패하였네요.
ㅁ Docker 컨테이너 관리
ㅇ 설치되어 있는 docker 컨테이너의 목록을 확인할 수 있습니다.
ㅇ 해당 컨테이너의 실행 및 정지가 가능합니다.
ㅁ 컨테이너 로그 확인 및 터미널 접속
ㅇ 컨테이너 하나를 선택하면 Log를 확인 및 터미널 접속이 가능합니다.
ㅁ Docker의 환경변수 관리
ㅁ Manage Images, Volumes, Networks