본문 바로가기
카테고리 없음

Docker 기반 서버관리 - Portainer 설치 방법

by Hoft 2025. 10. 21.
728x90
반응형

 

 

Portainer는 Docker, Swarm, Kubernetes 환경을 웹 인터페이스로 손쉽게 관리할 수 있는 도구입니다.
복잡한 CLI 명령어 대신 브라우저에서 컨테이너, 이미지, 볼륨, 네트워크를 관리할 수 있습니다.


🔧 1. Portainer란 무엇인가?

Portainer는 Docker의 GUI 관리 도구로,
CLI 대신 브라우저 기반 UI를 통해 아래 작업을 손쉽게 수행할 수 있습니다.

기능 설명
🧩 컨테이너 관리 컨테이너 시작/중지, 로그 확인, 환경변수 수정
🖼️ 이미지 관리 이미지 다운로드, 태그 변경, 삭제
💾 볼륨 관리 볼륨 생성 및 마운트 상태 확인
🌐 네트워크 관리 브리지/오버레이 네트워크 설정
👥 사용자 관리 권한 기반 접근 제어 (Role Based Access Control)

🖥️ 2. 설치 전 준비사항

Portainer를 설치하기 위해 다음 환경이 준비되어 있어야 합니다.

항목 내용
OS Linux (Ubuntu, RedHat, CentOS, Rocky, Debian 등)
Docker 20.x 이상
네트워크 포트 9443(https), 9000(http) 개방
권한 root 또는 sudo 권한 필요

🧠 Tip: Portainer는 Docker 위에서 컨테이너로 실행되므로,
기존 서버 환경을 변경하지 않고 쉽게 설치·삭제할 수 있습니다.


⚙️ 3. Portainer 설치 명령어

✅ 1) Docker 볼륨 생성

Portainer는 설정 데이터를 내부에 저장하므로,
컨테이너를 재시작해도 설정이 유지되도록 볼륨을 미리 만들어야 합니다.

sudo docker volume create portainer_data

✅ 2) Portainer 서버 컨테이너 실행

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

🔍 옵션 설명

옵션 설명
-d 백그라운드 실행
-p 9000:9000 HTTP 접근용 포트
-p 9443:9443 HTTPS 접근용 포트
--name portainer 컨테이너 이름 지정
--restart=always Docker 재시작 시 자동 기동
-v /var/run/docker.sock:/var/run/docker.sock 호스트의 Docker 제어 소켓 연결
-v portainer_data:/data 설정 유지용 볼륨 마운트

🌍 4. 브라우저 접속 및 초기 설정

🔗 접속 주소

http://서버IP:9000
또는
https://서버IP:9443

예시:

https://10.88.2.99:9443

👤 첫 로그인 시 초기 설정

  1. Admin 계정 생성
    → 관리자 ID/비밀번호 입력
  2. 로컬 Docker 환경 선택
    → “Get Started” 버튼 클릭

이제 Portainer 대시보드가 열리며
현재 서버의 Docker 상태가 시각적으로 표시됩니다.


🧰 5. 컨테이너 관리 예시

Portainer의 가장 큰 장점은 CLI 없이 GUI로 관리 가능하다는 점입니다.

기능 Portainer에서의 경로
새로운 컨테이너 실행 Containers → Add Container
로그 확인 Containers → 선택 → Logs
네트워크 연결 Networks → Add network
이미지 다운로드 Images → Pull image
시스템 리소스 모니터링 Dashboard

🧑‍💻 6. Portainer 업데이트 방법

Portainer는 업데이트도 간단합니다.
기존 컨테이너를 삭제하고 다시 pull 하면 됩니다.

sudo docker stop portainer
sudo docker rm portainer
sudo docker pull portainer/portainer-ce:latest
sudo docker run -d \
  -p 9000:9000 \
  -p 9443:9443 \
  --name portainer \
  --restart=always \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v portainer_data:/data \
  portainer/portainer-ce:latest

기존 설정(portainer_data)이 유지되므로 재설정이 필요 없습니다.


🔒 7. 방화벽 설정 (선택사항)

만약 서버에 방화벽이 설정되어 있다면,
9000 또는 9443 포트를 열어야 외부에서 접속 가능합니다.

sudo firewall-cmd --add-port=9000/tcp --permanent
sudo firewall-cmd --add-port=9443/tcp --permanent
sudo firewall-cmd --reload

🚀 8. Portainer Agent (멀티 노드 관리용)

여러 Docker 서버를 한 곳에서 관리하려면 Portainer Agent를 각 서버에 설치합니다.

Agent 설치 명령:

sudo docker run -d \
  -p 9001:9001 \
  --name portainer_agent \
  --restart=always \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v /var/lib/docker/volumes:/var/lib/docker/volumes \
  portainer/agent:latest

이후 Portainer → Environments → Add Environment → Agent
→ 대상 서버 IP와 포트 9001을 입력하면 됩니다.


🧩 9. Portainer Stack 관리 (docker-compose 지원)

Portainer는 Stack 기능을 통해 docker-compose.yml 파일을 바로 실행할 수 있습니다.

  1. Portainer → Stacks → Add Stack
  2. docker-compose.yml 내용 붙여넣기
  3. “Deploy the Stack” 클릭

→ 브라우저에서 손쉽게 여러 컨테이너를 한 번에 배포할 수 있습니다.


 

 

💡 추천 조합:

  • Portainer + Nginx Proxy Manager
  • Portainer + Watchtower (자동 업데이트)
  • Portainer + Grafana/Prometheus (모니터링)

 

728x90
반응형

댓글