본문 바로가기
DevOps

Portainer: Docker 관리의 간편한 솔루션

by Yoon_estar 2024. 6. 25.
728x90
반응형

소개

컨테이너화 기술이 발전하면서 Docker는 개발자와 시스템 관리자에게 필수 도구가 되었습니다. 그러나 Docker 컨테이너가 늘어나면 이를 관리하는 것이 복잡해질 수 있습니다. Portainer는 이러한 문제를 해결해주는 경량 관리 UI로, Docker 환경을 쉽게 관리할 수 있게 해줍니다.

Portainer란 무엇인가?

Portainer는 Docker를 위한 오픈 소스 관리 도구로, 컨테이너 운영을 간소화하기 위해 설계되었습니다. 그래픽 사용자 인터페이스(GUI)를 제공하여 Docker 컨테이너, 이미지, 네트워크를 쉽게 배포, 관리, 모니터링할 수 있습니다. Portainer는 Docker Swarm, Kubernetes 등 다양한 오케스트레이터를 지원하여, 다양한 환경에서 사용할 수 있는 다재다능한 도구입니다.

주요 기능

 

  • 사용자 친화적인 인터페이스: Portainer의 직관적인 UI는 명령줄 지식이 부족한 사용자도 쉽게 Docker 컨테이너를 관리할 수 있게 해줍니다.
  • 다중 환경 지원: 단일 인터페이스에서 독립형 Docker, Docker Swarm, Kubernetes 등 여러 Docker 환경을 관리할 수 있습니다.
  • 역할 기반 접근 제어(RBAC): 사용자 역할과 접근 권한을 정의하여 환경을 안전하게 보호할 수 있습니다.
  • 앱 템플릿: 미리 구성된 템플릿을 사용하여 인기 있는 애플리케이션을 빠르게 배포할 수 있습니다.
  • 컨테이너 관리: 몇 번의 클릭만으로 컨테이너를 생성, 시작, 중지 및 삭제할 수 있습니다.
  • 자원 모니터링: 실시간으로 컨테이너의 성능과 자원 사용량을 모니터링할 수 있습니다.

실습

# docker pull portainer/portainer-ce
# docker volume create portainer_data
portainer_data

# docker run -d -p 9000:9000 \ 
-v /var/run/docker.sock:/var/run/docker.sock \
-v portainer_data:/data \
--restart=always portainer/portainer-ce

docker ps | grep portainer
3d51abbdd71d   portainer/portainer-ce   "/portainer"   51 seconds ago   Up 49 seconds   8000/tcp, 9443/tcp, 0.0.0.0:9000->9000/tcp, :::9000->9000/tcp   hopeful_leavitt

 

계정 생성

예시

아래 과정은 datadog 컨테이너를 배포하는 과정이다.

# docker ps
CONTAINER ID   IMAGE                    COMMAND                CREATED          STATUS                            PORTS                                                           NAMES
4fd5c41525f2   datadog/agent:latest     "/bin/entrypoint.sh"   19 seconds ago   Up 2 seconds (health: starting)   8125/udp, 8126/tcp                                              DataDog
3d51abbdd71d   portainer/portainer-ce   "/portainer"           8 minutes ago    Up 8 minutes                      8000/tcp, 9443/tcp, 0.0.0.0:9000->9000/tcp, :::9000->9000/tcp   hopeful_leavitt
반응형