Docker 를 사용 하여 Spring Boot 배치 하기

본문 전재 연결:http://www.ityouknow.com/springboot/2018/03/19/spring-boot-docker.html
Docker 기술 의 발전 은 마이크로 서비스 가 정착 하 는 데 더욱 편리 한 환경 을 제공 했다. Docker 를 사용 하여 Spring Boot 를 배치 하 는 것 은 매우 간단 하 다. 이 글 은 우리 가 간단하게 배 울 것 이다.
먼저 간단 한 Spring Boot 프로젝트 를 구축 한 다음 프로젝트 에 Docker 지원 을 추가 하고 마지막 으로 프로젝트 를 배치 합 니 다.
간단 한 Spring Boot 프로젝트
pom. xml 에서 Spring Boot 2.0 관련 의존 도 를 사용 합 니 다.

    org.springframework.boot
    spring-boot-starter-parent
    2.0.0.RELEASE


웹 및 테스트 의존 도 추가

     
    org.springframework.boot
    spring-boot-starter-web
    
    
        org.springframework.boot
        spring-boot-starter-test
        test
    


Docker Controller 를 만 듭 니 다. index () 방법 이 있 습 니 다. 접근 할 때 돌아 갑 니 다: Hello Docker!
@RestController
public class DockerController {
    
    @RequestMapping("/")
    public String index() {
        return "Hello Docker!";
    }
}

시작 클래스
@SpringBootApplication
public class DockerApplication {

    public static void main(String[] args) {
        SpringApplication.run(DockerApplication.class, args);
    }
}


추가 완료 후 시작 항목, 시작 성공 후 브 라 우 저 질문:http://localhost:8080/, 페이지 반환: Hello Docker!,Spring Boot 프로젝트 설정 이 정상 임 을 설명 합 니 다.
Spring Boot 항목 에 Docker 지원 추가
pom. xml - properties 에 Docker 미 러 이름 추가

    springboot



plugins 에 Docker 빌 드 플러그 인 추가:

    
        
            org.springframework.boot
            spring-boot-maven-plugin
        
        
        
            com.spotify
            docker-maven-plugin
            1.0.0
            
                ${docker.image.prefix}/${project.artifactId}
                src/main/docker
                
                    
                        /
                        ${project.build.directory}
                        ${project.build.finalName}.jar
                    
                
            
        
        
    



디 렉 터 리 src / main / docker 에서 Dockerfile 파일 을 만 듭 니 다. Dockerfile 파일 은 미 러 를 만 드 는 방법 을 설명 합 니 다.
FROM openjdk:8-jdk-alpine
VOLUME /tmp
ADD spring-boot-docker-1.0.jar app.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

이 Dockerfile 파일 은 매우 간단 합 니 다. Jdk 기반 환경 을 구축 하고 Spring Boot Jar 를 미 러 에 추가 하여 간단하게 설명 합 니 다.
  • FROM 은 Jdk 8 환경 을 기본 미 러 로 사용 하고 미 러 가 로 컬 이 아니라면 DockerHub 에서 다운로드
  • 하 겠 다 고 밝 혔 다.
  • VOLUME, VOLUME 는 / tmp 디 렉 터 리 를 가리 키 고 있 습 니 다. Spring Boot 는 내 장 된 Tomcat 용 기 를 사용 하기 때문에 Tomcat 는 기본적으로 / tmp 를 작업 디 렉 터 리 로 사용 합 니 다.이 명령 의 효 과 는 홈 호스트 의 / var / lib / docker 디 렉 터 리 에 임시 파일 을 만 들 고 용기 에 연 결 된 / tmp 디 렉 터 리
  • 입 니 다.
  • ADD, 파일 복사 및 이름 바 꾸 기
  • ENTRYPOINT, Tomcat 의 시작 시간 을 단축 하기 위해 java. security. egd 의 시스템 속성 지향 / dev / urandom 을 ENTRYPOINT
  • 로 추가
    이렇게 Spring Boot 프로젝트 에 Docker 의존 도 를 추가 하면 완 료 됩 니 다.
    포장 환경 구축
    우 리 는 Spring Boot 프로젝트 를 포장 하기 위해 Docker 환경 이 필요 합 니 다. Windows 에서 Docker 환경 을 구축 하 는 것 은 매우 번 거 롭 기 때문에 저 는 Centos 7 을 예 로 들 겠 습 니 다.
    Docker 환경 설치
    yum install docker
    

    설치 가 완료 되면 아래 명령 을 사용 하여 docker 서 비 스 를 시작 하고 이 를 시작 으로 설정 합 니 다.
    ervice docker start
    chkconfig docker on
    
    #LCTT   :         sysv   ,   CentOS 7       systemd   ,  :
    systemctl  start docker.service
    systemctl  enable docker.service
    

    Docker 중국 가속기 사용 하기
    vi  /etc/docker/daemon.json
    
    #   :
    {
        "registry-mirrors": ["https://registry.docker-cn.com"],
        "live-restore": true
    }
    

    docker 다시 시작
    systemctl restart docker
    

    docker version 을 입력 하면 버 전 정 보 를 되 돌려 줍 니 다.
    JDK 설치
    yum -y install java-1.8.0-openjdk
    

    환경 변 수 를 설정 하여 vim / etc / profile 을 열 고 내용 을 추가 합 니 다.
    export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.161-0.b14.el7_4.x86_64 
    export PATH=$PATH:$JAVA_HOME/bin 
    

    수정 완료 후 효력 발생
    source /etc/profile
    

    자바 - version 반환 버 전 정 보 를 입력 하면 정상적으로 설 치 됩 니 다.
    MAVEN 다운로드 설치:http://mirrors.shu.edu.cn/apache/maven/maven-3/3.5.2/binaries/apache-maven-3.5.2-bin.tar.gz
    ##   
    tar vxf apache-maven-3.5.2-bin.tar.gz
    ##   
    mv apache-maven-3.5.2 /usr/local/maven3
    

    환경 변 수 를 수정 하고 / etc / profile 에 다음 줄 을 추가 합 니 다.
    MAVEN_HOME=/usr/local/maven3
    export MAVEN_HOME
    export PATH=${PATH}:${MAVEN_HOME}/bin
    
    

    source / etc / profile 을 실행 하여 환경 변 수 를 유효 하 게 합 니 다.
    화면 음악 n - version 을 입력 하면 버 전 정 보 를 되 돌려 줍 니 다.
    이렇게 하면 전체 구축 환경 설정 이 완성 된다.
    Docker 를 사용 하여 Spring Boot 프로젝트 배치 하기
    프로젝트 spring - boot - docker 복사 서버 에서 프로젝트 경로 에 들 어가 포장 테스트 를 진행 합 니 다.
    #  
    mvn package
    #  
    java -jar target/spring-boot-docker-1.0.jar
    

    Spring Boot 의 시작 로 그 를 보고 환경 설정 에 문제 가 없 음 을 나타 내 고 DockerFile 로 미 러 를 구축 합 니 다.
    mvn package docker:build
    

    첫 번 째 구축 은 느 릴 수 있 습 니 다. 다음 과 같은 내용 을 볼 때 구축 성공 을 나타 냅 니 다.
    ...
    Step 1 : FROM openjdk:8-jdk-alpine
     ---> 224765a6bdbe
    Step 2 : VOLUME /tmp
     ---> Using cache
     ---> b4e86cc8654e
    Step 3 : ADD spring-boot-docker-1.0.jar app.jar
     ---> a20fe75963ab
    Removing intermediate container 593ee5e1ea51
    Step 4 : ENTRYPOINT java -Djava.security.egd=file:/dev/./urandom -jar /app.jar
     ---> Running in 85d558a10cd4
     ---> 7102f08b5e95
    Removing intermediate container 85d558a10cd4
    Successfully built 7102f08b5e95
    [INFO] Built springboot/spring-boot-docker
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time: 54.346 s
    [INFO] Finished at: 2018-03-13T16:20:15+08:00
    [INFO] Final Memory: 42M/182M
    [INFO] ------------------------------------------------------------------------
    

    docker images 명령 으로 구 축 된 미 러 보기:
    docker images
    REPOSITORY                      TAG                 IMAGE ID            CREATED             SIZE
    springboot/spring-boot-docker   latest              99ce9468da74        6 seconds ago       117.5 MB
    

    springboot / spring - boot - docker 는 우리 가 구축 한 미 러 입 니 다. 다음 단 계 는 이 미 러 를 실행 하 는 것 입 니 다.
    docker run -p 8080:8080 -t springboot/spring-boot-docker
    

    시작 이 끝 난 후에 우 리 는 docker ps 를 사용 하여 실행 중인 미 러 를 봅 니 다:
    docker ps
    CONTAINER ID        IMAGE                           COMMAND                  CREATED             STATUS              PORTS                    NAMES
    049570da86a9        springboot/spring-boot-docker   "java -Djava.security"   30 seconds ago      Up 27 seconds       0.0.0.0:8080->8080/tcp   determined_mahavira
    

    우리 가 구축 한 용기 가 실행 중인 것 을 볼 수 있 습 니 다. 브 라 우 저 에 접근 하 십시오.http://192.168.0.x:8080/, 반환: 안녕하세요 Docker!
    Docker 를 사용 하여 Spring Boot 프로젝트 를 성공 적 으로 배 치 했 음 을 설명 합 니 다!

    좋은 웹페이지 즐겨찾기