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는 컨테이너를 설정하는 환경 변수
Three , 빌드
mvn install dockerfile:build
시작
docker run -d --name 名称 -p 对外端口:容器端口 镜像ID
위 내용은 springboot의 docker 원리 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!