관리 메뉴

피터의 개발이야기

[Docker] Dokémon, Docker 웹관리 페이지, WEB GUI for Docker 본문

DevOps/Docker

[Docker] Dokémon, Docker 웹관리 페이지, WEB GUI for Docker

기록하는 백앤드개발자 2023. 12. 27. 01:19
반응형

ㅁ 들어가며

  docker를 관리하기 위해서 docker cli 혹은 Docker desktop을 사용할 것입니다.

 

  ㅇ 터미널에서 docker cli를 통해 docker 컨테이너를 확인하는 모습.

 ㅇ Docker Desktop을 통해 Mac 어플리케이션으로 docker 컨테이너를 관리하는 모습

 

외부에서 도커 컨테이너를 관리하기 위해서는 ssh 접속을 통해 docker cli를 사용하였는데, Dokémon을 통해 외부에서 웹을 통해 관리를 할 수 있습니다. 이번 글은 Dokémon을 설치하고 그 기능에 대해서 정리를 하였습니다.

 

 

ㅁ Dokémon이란?

https://dokemon.dev/

 ㅇ 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

 

 

ㅁ 함께 보면 좋은 사이트

Dokémon 사이트

Top GUI for Docker

반응형
Comments