>  기사  >  Java  >  springboot의 docker 원리 분석

springboot의 docker 원리 분석

WBOY
WBOY앞으로
2023-05-23 16:40:06852검색

1. Maven 구성 추가

<properties>
    <docker.image.prefix>ms4t</docker.image.prefix>
  </properties>

  <build>
    <finalName>eureka</finalName>
    <plugins>
      <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
      </plugin>
      <plugin>
        <groupId>com.spotify</groupId>
        <artifactId>dockerfile-maven-plugin</artifactId>
        <version>1.3.6</version>
        <configuration>
          <repository>${docker.image.prefix}/${project.artifactId}</repository>
          <buildArgs>
            <JAR_FILE>target/${project.build.finalName}.jar</JAR_FILE>
          </buildArgs>
        </configuration>
      </plugin>
    </plugins>
  </build>

2. Dockerfile 만들기

FROM openjdk:8-jdk-alpine
VOLUME /tmp
ARG JAR_FILE
COPY ${JAR_FILE} app.jar
ENTRYPOINT ["java","-jar","/app.jar"]

매개변수 설명:

  • FROM :

  • 후속 빌드는 이 이미지를 기반으로 합니다. 동일한 Dockerfile에 여러 이미지가 생성된 경우 여러 FROM 지침

  • VOLUME을 사용하여 지속성 기능이 있는 디렉터리, 호스트/var/lib/docker 디렉터리를 구성할 수 있습니다. 임시 파일이 생성되어 컨테이너의 /tmp에 연결됩니다. 수정 단계는 선택 사항이지만 애플리케이션에 파일 시스템

  • 이 포함된 경우에는 필요합니다. Spring Boot에서 사용하는 내장형 Tomcat 컨테이너는 기본적으로 /tmp를 작업 디렉터리로 사용하기 때문에 /tmp 디렉터리는 Docker 데이터 폴더를 유지하는 데 사용됩니다.

  • ARG는 이미지를 컴파일할 때 추가된 매개변수를 설정하고 ENV는 컨테이너를 설정하는 환경 변수

  • COPY: 로컬 파일을 컨테이너에 복사하는 것만 지원합니다. 더 강력하지만 더 복잡한 ADD도 있습니다.

  • ENTRYPOINT 컨테이너가 시작될 때 실행되는 명령

  • EXPOSE 8080 노출 미러 포트

Three , 빌드

mvn install dockerfile:build

시작

docker run -d --name 名称 -p 对外端口:容器端口 镜像ID

위 내용은 springboot의 docker 원리 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제