Container Station 3에서 사용자 지정 앱 템플릿을 어떻게 구성하고 배포합니까?
Container Station 앱 템플릿을 이용하면 사전 구성된 컨테이너를 QNAP 환경에 배포할 수 있습니다. 기본적으로 Container Station은 QNAP 검증 템플릿 모음을 제공하지만, 특정 필요를 충족하기 위해 사용자 지정 앱 템플릿을 더 추가할 수 있습니다. 이러한 사용자 지정 앱 템플릿을 직접 QNAP 장치나 외부 웹 서버에서 호스팅할 수 있습니다.
이 튜토리얼에서는 QNAP 장치에서 사용자 지정 앱 템플릿을 호스팅하는 두 가지 방법과 이러한 사용자 지정 앱 템플릿에 액세스하도록 Container Station을 구성하는 방법을 설명합니다.
- 사용자 지정 앱 템플릿 파일 만들기
- NGINX 컨테이너에 사용자 지정 앱 템플릿 호스팅
- QNAP 웹 서버에서 사용자 지정 앱 템플릿 호스팅
- Container Station에 사용자 지정 앱 템플릿 추가
- 사용자 지정 앱 템플릿 배포
사용자 지정 앱 템플릿 파일 만들기
첫 번째 단계는 사용자 지정 앱 템플릿 파일을 만드는 것입니다. 기본적으로 Container Station은 QNAP 장치에서 올바로 작동하는 것으로 검증된 컨테이너 목록을 제공합니다. 여기서 QNAP 검증 템플릿을 다운로드해 수정하거나 새로운 파일을 직접 만들 수 있습니다.
어떤 텍스트 편집기에서든 템플릿 파일을 수정할 수 있습니다.
앱 템플릿 형식
앱 템플릿 정의는 JSON에서 작성됩니다. 유효한 템플릿은 어레이와 하나 이상의 컨테이너 템플릿 요소로 구성됩니다. 각 컨테이너 템플릿 요소는 필수 또는 선택적인 데이터 필드를 포함한 JSON 개체입니다. 형식은 다음 예시와 유사해야 합니다.
{
“templates”: [
{
// template1
},
{
// template2
},
...
]
}
JSON 요소 형식
유형
|
특성 |
설명 |
|---|---|
|
설명 |
이 템플릿의 컨테이너 유형(Docker 또는 LXD). |
|
중요 |
필수 |
|
형식 |
정수 |
|
허용되는 값 |
|
제목
|
특성 |
설명 |
|---|---|
|
설명 |
템플릿의 제목. |
|
중요 |
필수 |
|
형식 |
문자열 |
|
허용되는 값 |
모든 문자열 값 |
sub_title
|
특성 |
설명 |
|---|---|
|
설명 |
템플릿 버전에 대한 정보. |
|
중요 |
필수 |
|
형식 |
문자열 |
|
허용되는 값 |
모든 문자열 값 |
설명
|
특성 |
설명 |
|---|---|
|
설명 |
템플릿에 대한 정보를 제공하는 데 사용되는 설명. |
|
중요 |
필수 |
|
형식 |
문자열 |
|
허용되는 값 |
모든 문자열 값 |
로고
|
특성 |
설명 |
|---|---|
|
설명 |
템플릿의 로고 위치. |
|
중요 |
선택 사항 |
|
형식 |
문자열 |
|
허용되는 값 |
사용자 지정 앱 템플릿이 호스팅되는 네트워크 도메인에 관련된 유효 URL 또는 경로. |
위치
|
특성 |
설명 |
|---|---|
|
설명 |
템플릿 URL. 템플릿의 소개 웹페이지가 될 수 있습니다. |
|
중요 |
선택 사항 |
|
형식 |
문자열 |
|
허용되는 값 |
유효한 URL |
플랫폼
|
특성 |
설명 |
|---|---|
|
설명 |
지원되는 플랫폼. 유효한 값을 포함해야 합니다. |
|
중요 |
필수 |
|
형식 |
문자열 |
|
허용되는 값 |
|
|
예 |
|
이미지
|
특성 |
설명 |
|---|---|
|
설명 |
템플릿과 관련된 이미지. |
|
중요 |
필수 |
|
형식 |
문자열 |
|
허용되는 값 |
유효한 이미지 |
|
예 |
|
명령
|
특성 |
설명 |
|---|---|
|
설명 |
Docker 컨테이너에서 실행할 명령. 지정되지 않은 경우, 컨테이너가 Dockerfile에 지정된 기본 명령을 사용합니다. |
|
중요 |
선택 사항 |
|
형식 |
문자열 |
|
허용되는 값 |
모든 문자열 값 |
|
예 |
|
진입점
|
특성 |
설명 |
|---|---|
|
설명 |
Docker 컨테이너를 시작하기 위한 진입점. 지정되지 않은 경우, 컨테이너가 Dockerfile에 지정된 기본 진입점을 사용합니다. |
|
중요 |
선택 사항 |
|
형식 |
문자열 |
|
허용되는 값 |
모든 문자열 값 |
|
예 |
|
env
|
특성 |
설명 |
|---|---|
|
설명 |
템플릿에 필요한 환경 변수를 설명하는 JSON 어레이. 어레이의 각 요소는 유효한 JSON 개체여야 합니다. |
|
중요 |
선택 사항 |
|
형식 |
어레이 |
|
허용되는 값 |
유효한 JSON 어레이 |
|
어레이 형식 |
|
|
예 |
|
라벨
|
특성 |
설명 |
|---|---|
|
설명 |
템플릿과 관련된 라벨을 설명하는 JSON 어레이. 어레이의 각 요소는 유효한 JSON 개체여야 합니다. |
|
중요 |
선택 사항 |
|
형식 |
어레이 |
|
허용되는 값 |
유효한 JSON 어레이 |
|
어레이 형식 |
|
|
예 |
|
볼륨
|
특성 |
설명 |
|---|---|
|
설명 |
템플릿과 관련된 볼륨을 설명하는 JSON 어레이. 어레이의 각 요소는 필요한 컨테이너 속성을 갖춘 유효한 JSON 개체여야 합니다. |
|
중요 |
선택 사항 |
|
형식 |
어레이 |
|
허용되는 값 |
유효한 JSON 어레이 |
|
어레이 형식 |
|
|
예 |
|
포트
|
특성 |
설명 |
|---|---|
|
설명 |
템플릿과 관련된 포트를 설명하는 JSON 어레이. 어레이의 각 요소는 컨테이너를 비롯하여 프로토콜에서 포트 번호를 지정하는 유효한 JSON 문자열이어야 합니다. 선택적으로 호스트에 매핑된 포트를 정의하기 위해 포트 번호와 콜론(예: 8080:)을 사용해 접두어가 지정될 수 있습니다. 호스트 포트가 지정되지 않은 경우, 컨테이너가 시작할 때 Docker가 자동으로 포트를 할당합니다. |
|
중요 |
선택 사항 |
|
형식 |
어레이 |
|
허용되는 값 |
유효한 JSON 어레이 |
|
예 |
|
호스트 이름
|
특성 |
설명 |
|---|---|
|
설명 |
컨테이너의 호스트 이름. 컨테이너를 손쉽게 식별하는 데 도움이 될 수 있습니다. |
|
중요 |
선택 사항 |
|
형식 |
문자열 |
|
허용되는 값 |
모든 문자열 값 |
|
예 |
|
restart_policy
|
특성 |
설명 |
|---|---|
|
설명 |
Docker 컨테이너와 관련된 다시 시작 정책. 지정되지 않은 경우, 기본적으로 unless-stopped으로 설정됩니다. |
|
중요 |
선택 사항 |
|
형식 |
문자열 |
|
허용되는 값 |
|
|
예 |
|
auto_start_policy
|
특성 |
설명 |
|---|---|
|
설명 |
LXD 컨테이너와 관련된 자동 시작 정책. 지정되지 않은 경우, 기본적으로 retain으로 설정됩니다. |
|
중요 |
선택 사항 |
|
형식 |
문자열 |
|
허용되는 값 |
|
|
예 |
|
양방향
|
특성 |
설명 |
|---|---|
|
설명 |
Docker 컨테이너를 전경 모드에서 시작할지를 제어합니다. 지정되지 않은 경우, 기본적으로 true로 설정됩니다. |
|
중요 |
선택 사항 |
|
형식 |
부울 |
|
허용되는 값 |
|
|
예 |
|
tty
|
특성 |
설명 |
|---|---|
|
설명 |
Docker 컨테이너에 pseudo-TTY를 할당할지를 제어합니다. 지정되지 않은 경우, 기본적으로 true로 설정됩니다. |
|
중요 |
선택 사항 |
|
형식 |
부울 |
|
허용되는 값 |
|
|
예 |
|
권한
|
특성 |
설명 |
|---|---|
|
설명 |
컨테이너를 권한 모드에서 시작할지를 제어합니다. 지정되지 않은 경우, 기본적으로 false로 설정됩니다. |
|
중요 |
선택 사항 |
|
형식 |
부울 |
|
허용되는 값 |
|
|
예 |
|
NGINX 컨테이너에 사용자 지정 앱 템플릿 호스팅
다음으로 사용자 지정 앱 템플릿을 Container Station에서 사용할 수 있게 설정해야 합니다. 이 항목에서는 Container Station에서 실행 중인 NGINX 컨테이너에서 템플릿 파일을 호스팅하는 프로세스를 설명합니다.
또는 QNAP 웹 서버에서도 앱 템플릿 파일을 호스팅할 수 있습니다. QNAP 웹 서버에서 사용자 지정 앱 템플릿 호스팅을 참조하십시오.
사용자 지정 앱 템플릿 JSON 파일을 업데이트한 후, 변경 내용을 컨테이너 내에 반영하려면 NGINX 컨테이너를 다시 시작해야 합니다.
앱 템플릿 파일을 사용할 수 있게 됩니다.
웹 브라우저에 http://HOST_IP_ADDRESS:PUBLISHED_HOST_PORT/TEMPLATE_FILENAME을 입력해서 앱 템플릿 파일에 액세스할 수 있는지를 확인할 수 있습니다. 예: http://192.168.1.1:30080/my-templates.json.
QNAP 웹 서버에서 사용자 지정 앱 템플릿 호스팅
다음으로 사용자 지정 앱 템플릿을 Container Station에서 사용할 수 있게 설정해야 합니다. 이 항목에서는 QNAP 웹 서버에서 템플릿 파일을 호스팅하는 프로세스를 설명합니다.
또는 Container Station 내에서 직접 NGINX 컨테이너에 앱 템플릿 파일을 호스팅할 수도 있습니다. NGINX 컨테이너에 사용자 지정 앱 템플릿 호스팅을 참조하십시오.
- QTS 웹 서버를 활성화합니다.
- 사용자 지정 앱 템플릿 파일을 업로드합니다.
앱 템플릿 파일을 사용할 수 있게 됩니다.
웹 브라우저에 http://HOST_IP_ADDRESS:WEB_SERVER_PORT/TEMPLATE_FILENAME을 입력해서 앱 템플릿 파일에 액세스할 수 있는지를 확인할 수 있습니다. 예: http://192.168.1.1:80/my-templates.json.
Container Station에 사용자 지정 앱 템플릿 추가
다음 단계는 사용자 지정 앱 템플릿을 Container Station에 추가하는 것입니다. 그러면 Container Station 내에서 애플리케이션 앱 목록을 사용할 수 있게 됩니다.
Container Station이 사용자 지정 앱 템플릿을 저장합니다.



을 클릭합니다.



