1. Docker 소개
Docker는 개발자가 응용 프로그램 및 종속성을 휴대용 컨테이너에 패키지 한 다음 인기있는 Linux 시스템에 게시하거나 가상화 할 수있는 오픈 소스 애플리케이션 컨테이너 엔진입니다. 컨테이너는 샌드 박스 메커니즘을 완전히 사용하며 그 사이에는 인터페이스가 없습니다. Docker Image는 컨테이너화 된 공정을 실행하기위한 솔루션입니다. 이 기사에서는 간단한 Spring Boot 응용 프로그램을 구축합니다.
2. 환경 구성
JDK 1.8+
Maven 3.0+
Docker 최신 버전.
3. Maven과 함께 프로젝트를 구축하십시오
3.1 디렉토리 구조를 만듭니다
mkdir -p src/main/java/com/lidong/데모
Linux 또는 Mac 시스템에서.
3.2 pom.xml 파일을 만듭니다
<? xml version = "1.0"encoding = "utf-8"?> <project xmlns = "http://maven.apache.org/pom/4.0.0"xmlns : xsi = "http://www.w3.org/2001/xmlschema-instance" xsi : schemalocation = "http://maven.apache.org/pom/4.0.0 http://maven.apache.org/xsd/maven-4.0.xsd"> <modeversion> 4.0.0 </modelversion> <groupid> com.lidong.demo> <Artifactid> lidong-spring-boot-demo </artifactid> <bersion> 1.0-snapshot </version> <부모> <groupid> org.springframework.boot </groupId> <artifactid> spring-boot-starter-parent </artifactid> <bersion> 1.5.1 <project.build.sourceencoding> utf-8 </project.build.sourceencoding> <project.reporting.outputencoding> utf-8 </project.reporting.outputencoding> <java.version> 1.8 </java.version> <docker.mage.prefix> spring </properties> <pectionilency> <pectinement> <groupId> org.springframework.boot </groupid> <artifactid> spring-boot-starter-web </artifactid> </dependency> <groupid> org.springframework.boot </group-actid> springbboot </artifactid> </scope> test </scope> </fectionement> <pectionement> <groupId> org.springframework.boot </groupId> <artifactid> Spring-Boot-Starter-thymeleaf </artifactid> </fexendency> </feencevency> </dependency> </build> <flugin> <groupin> org.spramframframwork.spramework.spramework.s <Artifactid> Spring-Boot-Maven-Plugin </artifactid> </plugin> <grugin> <groupid> com.spotify </groupid> <artifactid> docker-maven-plugin </artifactid> <bersion> 0.4.13 </version> <configuration> <Imagename> $ {docker.image.prefix}/$ {project.artifactid} </imageName> <deCkerDirectory> src/main/docker </dockerDirectory> <Resource> <gartingPath>/</targetPath> <directory> $ {project.build.directory} </directory> <포함> $ {project.build.finalname} .jar </include> </resource> </resources> </configuration> </plugin> </plugins> </build> </project>알아채다:
Spring Boot Maven 플러그인은 많은 편리한 기능을 제공합니다.
1) ClassPath의 모든 JAR 파일을 수집하고 단일 런닝 가능한 JAR로 빌드하여 서비스를 실행하고 전송하는 것이 더 편리합니다.
2) 공개 정적 void main () 메소드를 검색하여 런 가능한 클래스로 표시합니다.
3) 스프링 부츠의 종속성과 일치하도록 버전 번호를 설정하기위한 내장 종속성 파서를 제공합니다. 원하는 버전을 재정의 할 수 있지만 기본값이됩니다.
선택한 버전 세트.
Spotify의 Docker-Maven-Plugin 플러그인은 Maven을 빌드하는 데 사용되는 Docker 이미지입니다.
1) ImageName 이미지의 이름을 지정합니다. 이 예는 Springio/Lidong-Spring-Boot-Demo입니다
2) dockerdirectory는 dockerfile의 위치를 지정합니다
3) 리소스는 Dockerfile과 함께 사용하고 이미지를 만들 때 사용 해야하는 파일을 말합니다. 일반적으로 응용 프로그램 JAR 패키지를 포함해야합니다.
4. 첫 번째 Spring Boot 응용 프로그램을 작성하십시오
간단한 스프링 부팅 응용 프로그램 작성 :
src/main/java/com/lidong/demo/samplecontroller.java :
package com.lidong.demo; import org.springframework.boot.springApplication; import org.springframework.boot.autoconfigure.springbootapplication; import org.springframework.stereotyp.controll.controll.controll.controller; import org.springframework.weestmapt org.springframework.web.bind.annotation.responsebody;/** * @project name : lidong-dubbo * @class name : samplecontroller * @class description : * @author : @author : @author : @auther : 2017/2/19 9:34 AM * @company : chni * @QQ : 15612816128161670 * @Email : [email protected] */ @controller @springbootApplicationPublic Class SampleController {@ResponseBody @RequestMapping (value = "/") string home () {return "Hello Docker World"; } public static void main (String [] args) {springApplication.run (samplecontroller.class, "-server.port = 8081"); }}
이 클래스는 @SpringBootApplication @RestController로 식별되며 Spring MVC의 웹 요청을 처리하는 데 사용할 수 있습니다.
@requestmapping map / to home () 및 "Hello Docker World"에 응답합니다.
Main () 메소드는 Spring Boot의 SpringApplication.run () 메소드를 사용하여 응용 프로그램을 시작합니다.
5. 프로그램을 실행하십시오
5.1 Maven 명령을 사용하십시오
MVN 패키지
달리다:
Java -jar Target/Lidong-Spring-Boot-Demo-1.0-SnapShot.jar
프로젝트를 방문하십시오
프로그램이 올바르게 실행되면 브라우저는 http : // localhost : 8081을 방문하며 "Hello Docker World"라는 단어를 볼 수 있습니다. 페이지에.
5.2 아이디어 플러그인 사용
6. 컨테이너 프로젝트
Docker는 DockerFile 파일 형식을 사용하여 이미지 레이어를 지정합니다.
SRC/MAIN/DOCKER/DOCKERFILE 파일 작성 :
Frolvlad /Alpine-Oraclejdk8 : slimvolume /tmpadd lidong-spring-boot-demo-1.0-snapshot.jar app.jarrun sh -c 't -djava.security.egd = file :/dev /./ urandom -jar /app.jar "]]]
이 구성 파일을 설명하십시오.
볼륨은 임시 파일 디렉토리 AS /TMP를 지정합니다. 그 효과는 호스트 /var /lib /docker 디렉토리에 임시 파일을 만들고 컨테이너 /tmp에 연결하는 것입니다. 수정 단계는 선택 사항이며 파일 시스템의 적용과 관련된 경우 필요합니다. /TMP 디렉토리는 Spring Boot에서 사용하는 임베디드 Tomcat 컨테이너가 기본적으로 작업 디렉토리로 사용하기 때문에 Docker Data Folder에 지속되는 데 사용됩니다.
프로젝트의 JAR 파일이 컨테이너에 추가됩니다
EntryPoint Execute Project App.jar. Tomcat 시작 시간을 단축하려면 엔트로피 소스로 "/dev/urandom"을 가리키는 시스템 속성을 추가하십시오.
도커 이미지를 빌드하십시오
Docker 이미지가되도록 빌드를 실행하십시오.
MVN 패키지 Docker : 빌드
달리다
도커 이미지를 실행하십시오
Docker Run -P 8081 : 8081 -t Springio/Lidong-Spring-Boot-Demo
이 봄 아이콘을 참조하십시오. Docker에서 Spring Boot 프로그램을 완료했다고 생각했습니다.
다음으로 브라우저로 이동하여 http : // localhost : 8081/을 방문하면 "Hello Docker World"라는 단어를 볼 수 있습니다. 페이지에.
요약
위는 편집자가 소개 한 Spring Boot 응용 프로그램입니다. Spring Boot 응용 프로그램은 Docker를 통해 구축, 실행 및 릴리스됩니다. 모든 사람에게 도움이되기를 바랍니다. 궁금한 점이 있으면 메시지를 남겨 주시면 편집자가 제 시간에 모든 사람에게 답장을 드리겠습니다. Wulin.com 웹 사이트를 지원해 주셔서 대단히 감사합니다!