Spring Boot專案與Docker整合完成打包,打映象及推送至映象庫的功能
阿新 • • 發佈:2018-12-26
Spring Boot與Docker整合完成一站式打包到推送至映象庫,減少部署的過程,下面主要來介紹一下,如何整合Docker:
1.在Spring Boot專案的pom.xml檔案中做以下配置:
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <executable>true</executable> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.7</source> <target>1.7</target> </configuration> </plugin> <plugin> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> <version>0.4.11</version> <configuration> <imageName>${docker.image.prefix}/${project.artifactId}</imageName> <image>hub.com/gitlabapi/${docker.image.prefix}/${project.artifactId}</image> <dockerDirectory>src/main/docker</dockerDirectory> <resources> <resource> <targetPath>/</targetPath> <directory>${project.build.directory}</directory> <include>${project.build.finalName}.jar</include> </resource> </resources> </configuration> </plugin> </plugins> </build>
2.在專案中建立一個source folder,名稱可以為src/main/docker,在該資料夾中新增Dockerfile檔案,內容如下:
FROM hub.com/jre7:1-cqdc
VOLUME /tmp
ADD gitlab-api-1.0.0.jar app.jar
RUN sh -c 'touch /app.jar'
RUN sh -c 'sudo ln -s /app.jar /etc/init.d/gitlabapi'
ENV JAVA_OPTS=""
ENTRYPOINT [ "sh", "-c", "/etc/init.d/gitlabapi start" ]