>  기사  >  Java  >  Spring Boot 및 Docker Compose를 사용하여 DevOps 플랫폼 구축

Spring Boot 및 Docker Compose를 사용하여 DevOps 플랫폼 구축

WBOY
WBOY원래의
2023-06-22 09:52:361378검색

소프트웨어 산업이 계속 발전함에 따라 점점 더 많은 회사가 보다 효율적인 개발, 테스트 및 배포를 달성하기 위해 DevOps 개발 모델로 전환하고 있습니다. 효율적인 DevOps 플랫폼을 구축하려면 고급 기술뿐만 아니라 높은 수준의 자동화 및 표준화도 필요합니다.

이 기사에서는 Spring Boot 및 Docker Compose를 사용하여 DevOps 플랫폼을 구축하여 개발, 테스트 및 배포 효율성을 향상시키는 방법을 소개합니다.

1. Spring Boot 소개

Spring Boot는 Spring 프레임워크를 기반으로 하는 신속한 개발 프레임워크로, 자동화된 구성, 신속한 개발 및 신속한 배포 기능을 제공합니다.

Spring Boot의 이점:

1. 자동 구성: Spring Boot는 대부분의 애플리케이션을 자동으로 구성할 수 있으므로 개발자는 애플리케이션을 더 빠르게 구축할 수 있습니다.

2. 독립적으로 실행 가능한 애플리케이션: Spring Boot는 애플리케이션을 독립적으로 실행할 수 있으며 서버에 배포할 필요가 없습니다.

3. 신속한 개발: Spring Boot는 Spring 도구 모음 및 Spring CLI와 같은 일련의 빠른 개발 도구를 제공합니다.

2. Docker Compose 소개

Docker Compose는 Docker 컨테이너를 기반으로 하는 다중 컨테이너 오케스트레이션 도구로, 여러 Docker 컨테이너를 빠르게 생성, 시작 및 관리할 수 있습니다.

Docker Compose의 이점:

1. 빠른 시작: Docker Compose는 여러 Docker 컨테이너를 빠르게 시작하고 이에 대한 네트워크와 볼륨을 설정할 수 있습니다.

2. 리소스 격리: Docker Compose는 컨테이너 간 격리를 보장하기 위해 각 컨테이너에 대해 서로 다른 리소스 제한을 설정할 수 있습니다.

3. 다중 컨테이너 오케스트레이션: Docker Compose는 여러 Docker 컨테이너를 동시에 시작하고 관리하여 다양한 서비스 또는 애플리케이션을 오케스트레이션할 수 있습니다.

3. DevOps 플랫폼 구축

1. Docker 및 Docker Compose 설치

DevOps 플랫폼 구축을 시작하기 전에 Docker 및 Docker Compose를 설치해야 합니다.

Docker 설치 방법은 공식 홈페이지(https://docs.docker.com/install/

Docker Compose 설치 방법은 공식 홈페이지(https://docs)를 참고하세요. .docker.com/compose/install/

2. Spring Boot 애플리케이션 생성

Docker Compose를 사용하여 DevOps 플랫폼을 구축하는 방법을 보여주는 간단한 Spring Boot 애플리케이션을 생성합니다.

1. Gradle 또는 Maven을 사용하여 빈 Spring Boot 프로젝트를 만듭니다.

2. build.gradle 또는 pom.xml에 Spring Boot 및 Tomcat의 종속성을 추가합니다.

3. 브라우저에 "Hello World" 메시지를 표시하는 간단한 컨트롤러와 페이지를 만듭니다.

@RestController
public class MainController {

@RequestMapping("/")
String home() {
    return "Hello World!";
}

}

4. gradle bootRun 또는 mvn spring-boot:run 명령을 사용하여 애플리케이션을 시작하고 브라우저로 localhost:8080에 액세스하면 "Hello World"가 표시됩니다. " 메시지.

3. Dockerfile 만들기

Spring Boot 애플리케이션을 Docker에 배포하려면 Dockerfile을 만들어야 합니다.

1. 애플리케이션의 루트 디렉터리에 Dockerfile이라는 파일을 만듭니다.

2. Dockerfile 파일에 다음 콘텐츠를 추가합니다.

기본 이미지

FROM openjdk:8-jdk-alpine

이미지의 작업 디렉터리를 설정합니다.

WORKDIR /app

응용 프로그램 jar 파일을 image

COPY target/spring-boot-docker.jar /app/app.jar

애플리케이션 실행

ENTRYPOINT ["java", "-jar", "/app/app.jar"]

3. 참고: 여기서 "spring-boot-docker.jar"은 프로젝트 이름을 기반으로 해야 합니다.

4. docker-compose.yml 파일 생성

Docker Compose를 사용하여 여러 컨테이너를 쉽게 생성, 관리 및 시작하세요. nginx, MySQL 및 Spring Boot 애플리케이션 컨테이너를 시작하는 docker-compose.yml 파일을 생성하겠습니다.

1. 애플리케이션의 루트 디렉터리에 docker-compose.yml이라는 파일을 만듭니다.

2. docker-compose.yml 파일에 다음 콘텐츠를 추가합니다.

version: '3.0'

services:

nginx:

image: nginx:1.13.6
ports:
  - "80:80"
depends_on:
  - web
volumes:
  - ./nginx.conf:/etc/nginx/nginx.conf
  - ./nginx/logs:/var/log/nginx
networks:
  - webnet

mysql:

image: mysql:5.7
environment:
  MYSQL_ROOT_PASSWORD: example
  MYSQL_DATABASE: booking
  MYSQL_USER: booking
  MYSQL_PASSWORD: booking
volumes:
  - ./mysql/data:/var/lib/mysql
networks:
  - webnet

web:

build: .
ports:
  - "8080:8080"
depends_on:
  - mysql
networks:
  - webnet

networks:
webnet:

3. 참고: 여기서 "nginx.conf"는 사용하려는 프록시 서버, 포트 및 대상 서버를 포함하여 필요에 따라 결정되어야 합니다.

5. DevOps 플랫폼 구축 시작

이제 DevOps 플랫폼을 구축할 준비가 되었습니다.

1. 애플리케이션 이미지 빌드:

docker build 명령을 사용하여 애플리케이션 이미지 빌드:

docker build -t spring-boot-docker.

참고: 여기서 "spring-boot-docker"는 다음을 기반으로 해야 합니다. 프로젝트에 따라 이름에 따라 다릅니다.

2. 애플리케이션 시작:

Docker Compose를 사용하여 애플리케이션 컨테이너 시작:

docker-compose up

그러면 nginx, MySQL 및 Spring Boot 애플리케이션 컨테이너가 시작된 다음 함께 연결됩니다. 브라우저를 통해 localhost에 액세스하면 "Hello World" 메시지가 표시됩니다.

3. DevOps 도구 사용:

DevOps 플랫폼이 구축되었으므로 이제 GIT, Jenkins, Docker Registry 등과 같은 다양한 DevOps 도구를 사용하여 애플리케이션을 관리할 수 있습니다.

4. 요약

이 문서에서는 Spring Boot 및 Docker Compose를 사용하여 완전한 DevOps 플랫폼을 구축하는 방법을 소개합니다. 이 플랫폼은 개발자가 애플리케이션을 보다 편리하게 구축, 테스트 및 배포하여 소프트웨어 개발 효율성과 품질을 향상시키는 데 도움이 됩니다. 현대적이고 효율적이며 유연한 DevOps 솔루션을 찾고 있다면 Spring Boot와 Docker Compose가 의심할 여지 없이 최선의 선택입니다.

위 내용은 Spring Boot 및 Docker Compose를 사용하여 DevOps 플랫폼 구축의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.