카우치베이스 서버

Docker를 사용하여 Couchbase 웹 애플리케이션으로 컨테이너화된 Java 배포하기

얼마 전까지만 해도 Node.js RESTful API와 카우치베이스 서버 컨테이너화하기 를 통해 웹 애플리케이션을 빠르고 안정적으로 배포하는 것이 얼마나 쉬운지 보여드렸습니다. 이 가이드에서는 간단한 API를 만들고, 이를 통해 Docker 이미지를 구축한 다음 컨테이너로 배포하고, Couchbase를 컨테이너로 배포했습니다. 하지만 모든 사람이 Node.js에 익숙하지는 않다는 것을 알고 있습니다.

여기서는 Spring Boot를 사용하여 간단한 Java RESTful API를 빌드하여 Docker 이미지를 생성하고, 컨테이너로 배포합니다. 카우치베이스. 이렇게 하면 Java 개발자에게 친숙한 환경이 만들어집니다.

이 튜토리얼을 사용하려면 컴퓨터에 Docker가 설치 및 구성되어 있어야 합니다. Docker를 사용하여 사용자 지정 Docker 이미지를 만들고 이를 컨테이너로 배포할 것입니다.

카우치베이스 서버용 사용자 지정 도커 이미지 만들기

먼저 카우치베이스 서버용 사용자 정의 Docker 이미지를 만드는 것부터 시작하겠습니다. 동안 공식 카우치베이스 이미지 가 존재하더라도 배포 시 자동으로 프로비저닝되지 않습니다. 사용자 정의 이미지는 컨테이너로 배포할 때 자동으로 프로비저닝됩니다.

컴퓨터 어딘가에 디렉터리를 만들고 도커파일 파일과 configure.sh 파일을 넣습니다. 그리고 도커파일 파일은 이미지의 청사진이 되고 configure.sh 파일은 컨테이너가 배포될 때 실행되는 프로비저닝 스크립트가 됩니다.

열기 configure.sh 파일을 열고 다음을 포함하세요:

Couchbase는 배포 후 HTTP를 통해 구성할 수 있습니다. 구성 스크립트는 인스턴스 리소스, 관리 자격 증명, 버킷 및 기본 인덱스를 지정합니다. 다음과 같은 다양한 변수가 사용된다는 것을 알 수 있습니다. $COUCHBASE_관리자_사용자명 그리고 $Couchbase_버킷. 런타임에 전달할 수 있으므로 민감한 정보를 하드코딩할 필요가 없습니다.

HTTP를 통한 카우치베이스 컨테이너 프로비저닝에 대한 자세한 내용은 다음 문서에서 확인할 수 있다. 이전 기사 에 대한 글을 썼습니다.

프로비저닝 스크립트가 완료되면, 이제 도커파일 파일을 만듭니다. 파일을 열고 다음을 포함합니다:

사용자 지정 Docker 이미지는 공식 Docker 이미지를 기본으로 사용하고 빌드 프로세스 중에 프로비저닝 스크립트를 복사한 후 런타임에 실행합니다.

카우치베이스용 사용자 정의 이미지를 빌드하려면 다음을 실행합니다:

위의 명령에서 카우치베이스 커스텀 는 이미지 이름이며, 이 이미지 이름은 도커파일 파일을 만듭니다.

Java로 Spring Boot RESTful API 개발하기

Java 애플리케이션을 컨테이너화하기 전에 먼저 빌드해야 합니다. Spring Boot를 사용하기 때문에 스타터 프로젝트를 다운로드해야 합니다. 이 작업은 다음에서 쉽게 수행할 수 있습니다. 스프링 초기화 웹사이트.

Spring Boot Initializr

이 프로젝트에서는 다음을 사용하고 있습니다. com.couchbase 내 그룹 그리고 도커 내 인공물. 저는 또한 Gradle을 선호하기 때문에 Maven 대신 사용하고 있습니다.

다운로드한 프로젝트를 압축을 풀고 프로젝트의 src/main/resources/application.properties 파일을 만듭니다. 이 파일에는 다음이 포함됩니다:

위에서는 호스트 인스턴스가 다음과 같이 호출된다고 가정합니다. 카우치베이스 라는 암호 없는 버킷이 있습니다. 기본값. 로컬에서 테스트하는 경우 호스트는 아마도 localhost가 될 것입니다. 어쨌든 이러한 모든 속성은 컨테이너 런타임에 환경 변수를 통해 정의됩니다.

이제 프로젝트의 src/main/java/com/couchbase/DockerApplication.java 파일을 만듭니다. 여기서 프로퍼티를 로드하고 엔드포인트를 정의하겠습니다. 이 파일을 열고 다음 Java 코드를 포함하세요:

위에서 많은 일이 일어나고 있지는 않습니다. 대부분은 상용구 코드와 임포트 문입니다. 이 글의 목표는 Couchbase와 함께 Java를 사용하는 것이 아니므로 코드의 각 부분을 설명하지 않겠습니다. 대신 세 개의 엔드포인트가 있으며, 그 중 하나는 버킷에 있는 모든 문서를 가져오고 다른 하나는 새 문서를 Couchbase에 저장한다는 점만 알아두세요.

저처럼 Gradle을 사용하고 있다면 build.gradle 파일로 이동합니다. 작업을 생성하고 종속성을 추가해야 합니다. 귀하의 build.gradle 파일은 다음과 같은 모양이어야 합니다:

애플리케이션을 빌드하려면 다음을 실행합니다:

이제 Docker 이미지에 사용할 JAR 파일이 생겼습니다.

스프링 부트 애플리케이션을 위한 사용자 지정 도커 이미지 빌드하기

사용자 지정 이미지를 구축하려면 다음이 필요합니다. 도커파일 파일을 제자리에 배치합니다. Java 프로젝트의 베이스에 도커파일 파일을 열고 다음을 포함하세요:

위에서는 공식 OpenJDK 이미지를 기본으로 사용하고 있으며 빌드 시점에 JAR을 이미지에 복사하고 있습니다. 배포 시에는 JAR이 실행됩니다.

이 이미지를 빌드하려면 다음을 실행합니다:

위의 명령은 익숙하게 보일 것입니다. 우리는 스프링 부팅 사용자 지정 디렉토리에 있는 블루프린트를 사용하여 도커파일 파일을 만듭니다.

사용자 지정 Docker 이미지 만들기에 대한 자세한 내용은 이전에 작성한 글에서 확인할 수 있습니다, 컨테이너화된 웹 애플리케이션을 위한 사용자 정의 Docker 이미지 구축.

카우치베이스와 스프링 부트 이미지를 컨테이너로 배포하기

이미지를 배포할 때 몇 가지 옵션이 있습니다. Compose 파일을 사용하거나 바닐라 컨테이너로 배포할 수 있습니다. 저는 Compose가 더 깔끔한 접근 방식이라고 생각하기 때문에 이 방법을 사용하겠습니다.

컴퓨터의 어딘가에 docker-compose.yml 파일을 열고 다음을 포함하세요:

위 파일에서는 우리가 구축한 사용자 정의 이미지를 정의하고 호스트 머신에 포트 매핑을 수행하고 있습니다. 특히 흥미로운 점은 환경 옵션을 추가합니다. 이러한 변수는 우리의 application.properties 그리고 configure.sh 파일.

Compose를 사용하여 컨테이너를 배포하려면 다음을 실행하세요:

위의 명령에 대해 주의할 점이 있습니다. Couchbase는 즉시 배포되지 않습니다. Java 애플리케이션을 배포하기 전에 완전히 실행될 때까지 기다려야 합니다. 두 애플리케이션이 모두 실행된 후에는 웹 브라우저에서 Java 애플리케이션으로 이동하여 확인합니다.

결론

방금 사용자 지정 Docker 이미지를 Spring Boot 애플리케이션과 Couchbase Server에 배포할 수 있습니다. 각각을 컨테이너로 배포한 후에는 서로 통신할 수 있어 유지 관리에 매우 편리합니다.

Node.js로 이 작업을 수행하는 데 관심이 있으시면 이전 기사 이 주제에 대한 글을 작성했습니다. Couchbase용 Java SDK에 대해 자세히 알아보려면 다음과 같이 확인하세요. 카우치베이스 개발자 포털.

이 문서 공유하기
받은 편지함에서 카우치베이스 블로그 업데이트 받기
이 필드는 필수 입력 사항입니다.

Author

Posted by 닉 라보이

닉 라보이는 최신 웹 및 모바일 개발 기술을 옹호하는 사람입니다. 그는 Java, JavaScript, Golang 및 Angular, NativeScript, Apache Cordova와 같은 다양한 프레임워크에 대한 경험이 있습니다. Nic은 웹 및 모바일 개발을 보다 쉽게 이해할 수 있도록 자신의 개발 경험에 대해 글을 쓰고 있습니다.

댓글 하나

  1. [...] 관심이 있으시다면, [...]에 따라 Docker를 사용하여 컨테이너화된 Java를 CouchBase 웹 애플리케이션으로 배포하기 및 CouchBase 웹 애플리케이션을 Docker 컨테이너로 Node.js 배포하기를 확인하실 수 있습니다.

댓글 남기기

카우치베이스 카펠라를 시작할 준비가 되셨나요?

구축 시작

개발자 포털에서 NoSQL을 살펴보고, 리소스를 찾아보고, 튜토리얼을 시작하세요.

카펠라 무료 사용

클릭 몇 번으로 Couchbase를 직접 체험해 보세요. Capella DBaaS는 가장 쉽고 빠르게 시작할 수 있는 방법입니다.

연락하기

카우치베이스 제품에 대해 자세히 알고 싶으신가요? 저희가 도와드리겠습니다.