Skip to main content
Version: TOS 7

Container Manager

Container Manager는 Docker Engine 기반의 완전 그래픽 컨테이너 관리 도구로, 이미지 검색, 다운로드 및 컨테이너 생성 구성 등 전체 프로세스 작업을 지원하며 docker-compose 다중 컨테이너 오케스트레이션 기능을 제공합니다. 브라우저를 통해 멀티미디어 서비스, 오프라인 다운로드, 프라이빗 클라우드 스토리지 등 다양한 애플리케이션 배포를 원스톱으로 완료할 수 있어 컨테이너 관리를 손쉽게 수행할 수 있습니다.

danger
  1. Container Manager 애플리케이션을 사용하려면 먼저 Docker Engine을 설치하십시오.
  2. 이 애플리케이션은 이전에 Docker Manager로 불렸습니다. v2.2.025 부터 Container Manager로 이름이 변경되었습니다.

개요

개요 화면에서 프로젝트와 컨테이너의 현재 상태를 빠르게 파악하고 서비스의 안정적인 운영을 확인할 수 있습니다. 또한 실행 중인 프로젝트와 컨테이너의 리소스 사용 현황을 시각적으로 표시하여 한눈에 파악할 수 있습니다.

개요 페이지에는 다음과 같은 핵심 정보가 포함됩니다:

  • Docker Engine 상태: Docker Engine이 설치 및 활성화되었는지 표시합니다. 설치 또는 활성화되지 않은 경우 페이지에 "Docker Engine이 설치되지 않았거나 활성화되지 않았습니다"라고 표시됩니다.
  • CPU 사용량: Docker 전체 CPU 사용량과 백분율을 표시합니다.
  • RAM 사용량: Docker 메모리 사용량과 점유율을 표시합니다.
  • 리소스 통계 차트: CPU와 메모리 사용 추세를 그래픽으로 표시합니다.
  • 컨테이너 실행 개요: 실행 중/중지된 컨테이너 수 통계를 표시합니다. 컨테이너 실행 이상 시 눈에 띄게 표시됩니다.
  • 이미지 통계: 로컬 이미지 총 개수를 표시합니다.

프로젝트

프로젝트를 통해 하나의 구성 파일(Docker-compose.yml)로 다중 컨테이너 애플리케이션을 쉽게 정의할 수 있으며, 하나의 명령어로 YML 파일 구성에서 모든 서비스를 생성하고 시작할 수 있습니다.

프로젝트 관리

프로젝트 페이지에서 다음 작업을 수행할 수 있습니다:

  • 프로젝트 추가: 새 프로젝트를 추가합니다.
  • 시작/중지: 선택한 프로젝트를 시작/중지합니다.
  • 다시 시작: 선택한 프로젝트를 다시 시작합니다.
  • 편집: 선택한 프로젝트를 편집합니다. 편집 시 프로젝트가 강제 중지됩니다.
  • 삭제: 선택한 프로젝트를 삭제합니다.
  • 강제 중지: 선택한 프로젝트를 강제 중지합니다.
  • 정리: 모든 서비스의 컨테이너, 네트워크, 이미지, 데이터 볼륨을 중지하고 삭제합니다.
  • 빌드: 프로젝트 구성 YAML 파일을 통해 프로젝트를 다시 빌드합니다.

프로젝트 생성

프로젝트 기능에서 프로젝트를 생성하려면:

  1. Container Manager 애플리케이션 화면에서 왼쪽 내비게이션 바의 "프로젝트"를 클릭합니다.
  2. 오른쪽 상단의 "추가" 아이콘 또는 페이지의 "지금 추가" 버튼을 클릭하여 프로젝트 생성 창을 엽니다.
  3. 프로젝트 이름, 프로젝트 경로를 순서대로 설정하고 구성 파일(docker-compose.yml)을 설정합니다.
    구성 파일을 설정하는 세 가지 방법이 있습니다:
    • 로컬 TNAS —— TNAS 로컬 파일을 선택하여 설정합니다.
    • 내 컴퓨터 —— 컴퓨터의 구성 파일을 업로드하여 설정합니다.
    • YAML 파일 생성 —— 편집기를 열어 docker-compose.yml을 생성합니다.
  4. YAML을 검증합니다.
  5. 검증을 통과하면 적용 버튼을 클릭합니다.
주의
  • YAML 검증은 편집기 내 docker-compose.yml의 내용과 형식을 확인합니다. 내용이 비어 있거나 형식이 잘못된 경우 "적용" 버튼을 클릭할 수 없습니다. 안내에 따라 docker-compose.yml 파일을 수정하십시오.
  • Compose 구성 파일이 삭제된 경우 페이지에 알림이 표시됩니다.

프로젝트 생성 실패 원인을 빠르게 확인하는 방법

프로젝트 생성 과정에서 프로젝트 생성 실패를 확인한 경우, "생성 실패" 프로젝트 상태를 클릭하여 오류 기록을 확인할 수 있습니다.

컨테이너

컨테이너는 Docker 이미지의 실행 인스턴스로, 이미지의 동적 표현 형태이며 시작, 일시 중지, 중지 및 삭제가 가능합니다. 컨테이너를 생성하려면 이미지가 필요합니다. 이미지가 없는 경우 레지스트리 페이지에서 오픈소스 개발자가 업로드한 이미지를 다운로드할 수 있습니다.

컨테이너 관리

컨테이너 페이지에서 다음 작업을 수행할 수 있습니다:

  • 추가: 이미지를 선택하여 컨테이너를 생성합니다.
  • 시작/중지: 컨테이너를 시작/중지합니다.
  • 다시 시작: 실행 중인 컨테이너를 다시 시작합니다.
  • 편집: 컨테이너 구성을 편집합니다.
  • 삭제: 선택한 컨테이너를 삭제합니다.
  • 강제 중지: 실행 중인 컨테이너를 강제 중지합니다.
  • 컨테이너 복제: 컨테이너 구성을 복사하여 새 컨테이너를 구성합니다(구성만 복사하며 이미지와 데이터는 복사하지 않습니다. 포트는 자동으로 다시 매핑됩니다).
  • 내보내기: 선택한 컨테이너를 .tar 파일로 내보냅니다. "컨테이너 내보내기"와 "컨테이너 설정만 내보내기" 두 가지 모드를 지원합니다.
  • 가져오기: 가져올 수 있는 파일을 선택하고 파일에 따라 컨테이너를 구성합니다.
  • 프로세스: 컨테이너 내에서 실행되는 명령의 실행 상태입니다.
  • 로그: 컨테이너 실행으로 생성된 로그입니다.
  • 터미널: 컨테이너의 터미널 인터페이스(bash)입니다.
  • 데스크톱으로 보내기: 컨테이너 바로 가기를 TOS 데스크톱에 생성합니다. 사용자 정의 아이콘 업로드를 지원합니다(.jpg/.png, 크기 ≤ 8MB).
  • 접속 주소: 컨테이너의 접속 URL을 확인합니다.

컨테이너 생성

Container Manager 애플리케이션에서 컨테이너를 생성하려면:

  1. Container Manager 애플리케이션 화면에서 왼쪽 내비게이션 바의 "이미지"를 클릭합니다.
  2. 오른쪽 상단의 "시작" 아이콘을 클릭하여 컨테이너 생성 창을 엽니다.

1단계: 기본 정보

  • 이미지 선택: 로컬 이미지에서 선택합니다.
  • 레지스트리 주소: 사용자 정의 레지스트리 주소를 설정할 수 있습니다(사용자 이름/비밀번호 인증 포함).
  • 컨테이너 이름: 소문자, 숫자, 하이픈 - 및 밑줄 _을 지원합니다. - 또는 _로 시작할 수 없습니다.

2단계: 데이터 볼륨 (Volumes)

  • 컨테이너 데이터 저장 경로를 설정합니다(호스트 디렉터리 → 컨테이너 디렉터리). 컨테이너의 데이터를 호스트에 백업합니다.
  • 읽기/쓰기 권한: 기본값은 읽기/쓰기이며, 읽기 전용으로 전환할 수 있습니다(컨테이너는 읽기만 가능).
  • 알림: "컨테이너가 삭제되어도 데이터는 삭제되지 않습니다".

3단계: 네트워크 및 포트

  • 네트워크 모드: host 모드(호스트 IP 및 포트 사용) 또는 bridge 모드(가상 브리지, 독립 IP 대역(예: 172.17.x.x)).
  • 포트 추가: 로컬 포트 + 컨테이너 포트 + 프로토콜을 구성합니다. 추가/편집/삭제를 지원합니다. 포트가 사용 중인 경우 오류가 표시됩니다.

4단계: 변수 및 명령

  • 환경 변수: 컨테이너에 환경 변수를 설정합니다(변수 이름 + 변수 값). 추가/편집/삭제를 지원합니다.
  • 실행 명령: 컨테이너의 시작 명령(CMD)과 Entrypoint(진입점)를 설정합니다.
  • 기능(Docker Capabilities):
    • 시스템 기본값: 컨테이너 시작 시 시스템 기본 Capabilities를 자동으로 가져옵니다.
    • 높은 권한 실행: 활성화하면 컨테이너가 ROOT 권한으로 실행됩니다(특권 컨테이너).
    • 사용자 정의 기능: Linux Capabilities를 추가/제거합니다.

5단계: 설정 확인

주의
  1. 설정이 올바른지 확인했음에도 Docker Hub 이미지를 사용하여 컨테이너를 생성할 수 없는 경우, 다른 이미지를 사용해 보십시오. Docker Hub에는 다양한 개발자가 업로드한 사용자 정의 이미지가 포함되어 있어 이미지 품질이 보장되지 않을 수 있습니다.
  2. 컨테이너 포트를 구성할 때 다른 서비스에서 사용하는 포트와 다른 포트 번호를 선택하여 포트 충돌로 인한 서비스 오류를 방지하십시오.
  3. 대부분의 컨테이너 기본 시간대는 UTC입니다. 환경 변수 "TZ"를 설정하여 컨테이너의 시간대를 변경할 수 있습니다. 시간대 데이터베이스의 시간대 목록을 보려면 여기를 방문하십시오.
  4. 여러 명령(command)을 실행해야 하는 경우 영어 쉼표로 구분하십시오.

이미지

Docker 이미지는 특별한 파일 시스템으로, 컨테이너 실행에 필요한 이미지, 라이브러리, 리소스, 구성 파일 등을 제공할 뿐만 아니라 실행 시 준비되는 구성 매개변수도 포함하고 있습니다. Docker 컨테이너를 생성하고 실행하기 위한 기반입니다.

로컬 이미지

TNAS 로컬에 다운로드된 이미지를 나열합니다. 이미지 기능을 통해 다운로드한 모든 이미지를 관리하고 이미지를 사용하여 컨테이너를 생성할 수 있습니다.

로컬 이미지 관리

로컬 이미지 페이지에서 다음 작업을 수행할 수 있습니다:

  • 시작: 선택한 이미지를 시작하고 해당 컨테이너를 구성합니다.
  • 가져오기: 컴퓨터 또는 NAS에 저장된 이미지를 가져옵니다.
  • 내보내기: 선택한 이미지를 NAS 폴더로 내보냅니다.
  • 삭제: 선택한 이미지를 삭제합니다.

레지스트리

이미지 라이브러리의 이미지 목록을 로드합니다. 기본적으로 Docker Hub 공식 이미지 라이브러리를 사용하며 사용자 정의 주소를 지원합니다.

이미지 라이브러리

  • 레지스트리 추가: 새 이미지 레지스트리 소스를 추가합니다. 레지스트리 주소, 사용자 이름 및 비밀번호를 설정하여 인증할 수 있습니다.
  • 레지스트리 편집: 기존 이미지 레지스트리 정보를 수정합니다.
  • 레지스트리 삭제: 사용자 정의 이미지 라이브러리를 제거합니다(시스템 기본 Docker Hub는 삭제할 수 없습니다).
  • 가속기 설정: Docker 이미지 레지스트리 캐시 프록시를 구성하여 네트워크 문제로 인한 이미지 풀 지연 또는 실패를 해결합니다.
  • 레지스트리 활성화/비활성화: 레지스트리 로드 주소를 전환합니다.

네트워크

네트워크 모듈은 Docker 컨테이너 네트워크를 관리하며 사용자 정의 네트워크 생성 및 구성을 지원합니다.

네트워크 관리

네트워크 페이지에서 다음 작업을 수행할 수 있습니다:

  • 네트워크 추가: 새 Docker 네트워크를 사용자 정의 생성합니다.
  • 삭제: 선택한 사용자 정의 네트워크를 삭제합니다.
  • 설정/세부 정보: 네트워크 세부 정보를 확인하고 선택한 네트워크에 연결된 컨테이너를 관리합니다.

네트워크 생성

네트워크 생성 시 다음 항목을 구성할 수 있습니다:

구성 항목설명
네트워크 이름영문자, 숫자, 연결 기호 - _ 지원
드라이버기본값은 bridge(사용자 정의 드라이버 지원)
IP 구성 모드자동 가져오기(DHCP) / 수동 구성
IPv4 서브넷CIDR 형식, 예: 172.20.0.0/16
IPv4 게이트웨이예: 172.20.0.1
IPv4 IP 범위CIDR 형식, 예: 172.20.10.128/25
IPv6 서브넷CIDR 형식, 예: fd80:ac8::/48
IPv6 게이트웨이예: fd80:ac8::1
IPv6 범위CIDR 형식, 예: fd80:ac8::/64
IP 마스커레이딩 비활성화IP Masquerading 비활성화
컨테이너 할당기존 컨테이너를 즉시 이 네트워크에 추가

로그

Container Manager 애플리케이션에서 실행된 모든 작업 기록을 나열하며, 로그 내보내기 및 관리가 가능합니다.

로그 관리

로그 페이지에서 모든 작업의 로그를 보거나 특정 작업을 선택하여 로그를 볼 수 있습니다. 또한 다음과 같은 설정을 할 수 있습니다:

  1. 검색: 이벤트를 검색할 수 있습니다.
  2. 새로 고침: 로그를 새로 고칩니다.
  3. 내보내기: 로그를 내보냅니다.
  4. 삭제: 로그를 삭제합니다. 모든 로그를 삭제하거나 지정된 로그를 삭제할 수 있습니다.
  5. 설정: 로그 보존 정책을 설정합니다. 정책에 맞지 않는 로그는 자동으로 삭제됩니다.