콘텐츠로 이동
공식 웹사이트로 돌아가기

사례: 컨테이너 애플리케이션 배포

이 사례는 JelinaOS 장치에 컨테이너 애플리케이션을 Release 체계로 배포하는 전체 절차를 보여 주며 프로젝트 납품용 참고 템플릿으로 사용할 수 있습니다.

엣지 장치 한 대에 웹 서비스를 배포합니다. Release 관리, 부팅 시 자동 시작, 장애 시 자동 복구와 데이터 영구 저장이 요구됩니다.

  1. 시스템 설치에 따라 JelinaOS를 설치합니다.
  2. 최초 부팅과 구성에 따라 기본 구성을 완료합니다.
  3. JelinaCloud에 연결하고 장치 등록을 완료합니다.
  4. docker version으로 컨테이너 런타임을 사용할 수 있는지 확인합니다.

개발 환경에서 애플리케이션 이미지를 빌드하고 이미지 저장소에 푸시합니다.

Terminal window
docker build -t registry.example.com/webapp:1.0.0 .
docker push registry.example.com/webapp:1.0.0

JelinaCloud에서 Release를 생성하고 이미지, 재시작 정책, 환경 변수, 포트와 데이터 볼륨을 지정하여 컨테이너 애플리케이션을 추가합니다. 패키지 업로드를 포함한 자세한 절차는 JelinaCloud Release 생성을 참조하세요.

대상 플릿에 Release를 배포하면 장치 에이전트가 자동 적용합니다. 장치에서 다음을 검증합니다.

Terminal window
docker ps # 컨테이너가 실행 중임
curl http://localhost:8080 # 서비스에 접근할 수 있음
docker logs webapp # 로그가 정상임
  • 장애 자동 복구: 이상을 시뮬레이션한 뒤 장치 에이전트가 애플리케이션을 자동 재시작하여 복구합니다.
  • 부팅 시 자동 시작: 장치 재시작 후 애플리케이션이 자동으로 다시 실행됩니다.
  • 데이터 보존: 컨테이너 업그레이드·재생성 후에도 데이터 파티션의 데이터가 유지됩니다.
  1. 새 버전 이미지를 빌드하고 푸시합니다.
  2. 클라우드에서 이미지 버전을 갱신하여 새 Release를 생성합니다.
  3. 장치에 배포하면 자동 업그레이드됩니다.
  4. 문제가 생기면 이전 버전을 다시 지정하여 롤백합니다.
요구사항 구현 방식
Release 관리 Release에 애플리케이션을 정의하고 장치 에이전트가 통합 배포
부팅 시 자동 시작 Release에 재시작 정책을 구성하여 시스템과 함께 자동 복구
장애 자동 복구 장치 에이전트가 비정상 애플리케이션 자동 재시작
데이터 영구 저장 데이터 파티션에 데이터 마운트
버전 업데이트 새 Release를 배포하고 롤백 지원