美文网首页League of DevOps
2019-02-14 Spring-boot-Docker 快

2019-02-14 Spring-boot-Docker 快

作者: EricJonse | 来源:发表于2019-02-14 10:49 被阅读0次

Maven 构建Spring Boot 的Docker镜像

构建项目,修改配置
通过 start.spring.io/ 构建 Spring Boot 工程。
修改 pom 文件

<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<!-- tag::plugin[] -->
<plugin>
<groupId>com.spotify</groupId>
<artifactId>dockerfile-maven-plugin</artifactId>
<version>1.3.6</version>
<configuration>
<!--suppress UnresolvedMavenProperty -->
<repository>${docker.image.prefix}/${project.artifactId}</repository>
</configuration>
</plugin>
<!-- end::plugin[] -->
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<!--<version>0.4.12</version>-->
<configuration>
<!-- 注意imageName一定要是符合正则[a-z0-9-_.]的,否则构建不会成功 -->
<!-- 详见:https://github.com/spotify/docker-maven-plugin Invalid repository name ... only [a-z0-9-_.] are allowed-->
<dockerHost>http://127.0.0.1:2375</dockerHost>
<imageName>docker-springboot</imageName>
<baseImage>java</baseImage>
<entryPoint>["java", "-jar", "/${project.build.finalName}.jar"]</entryPoint>
<resources>
<resource>
<targetPath>/</targetPath>
<directory>${project.build.directory}</directory>
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
</configuration>
</plugin>
</plugins>
</build>

需要注意的是 <dockerHost>http://127.0.0.1:2375</dockerHost>,如果本地有安装 docker ,直接只用本地默认即可,若未安装,需要是远程的 docker 服务时需要在服务器配置 docker ,具体操作请移步Docker 远程连接

添加 Dockerfile

注意 com.whforever.dockerspringboot.DockerSpringbootApplication 是指 Spring Boot 项目的代码入口。

FROM openjdk:8-jdk-alpine
VOLUME /tmp
ARG DEPENDENCY=target/dependency
COPY ${DEPENDENCY}/BOOT-INF/lib /app/lib
COPY ${DEPENDENCY}/META-INF /app/META-INF
COPY ${DEPENDENCY}/BOOT-INF/classes /app
ENTRYPOINT ["java","-cp","app:app/lib/*","com.whforever.dockerspringboot.DockerSpringbootApplication"]

构建 构建 Spring Boot 的 Docker 镜像

执行 maven 命令,执行构建

mvn clean package docker:build

执行完成之后我们就可以在远程看到刚构建好的 Spring Boot 的镜像。

docker container ls

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e5f2c7e4e7c1 docker-springboot:latest "java -jar /docker-s…" 22 hours ago Up 22 hours 0.0.0.0:8080->8080/tcp agitated_kilby

启动 docker 镜像

docker run -p 8080:8080 docker-springboot

相关文章

网友评论

    本文标题:2019-02-14 Spring-boot-Docker 快

    本文链接:https://www.haomeiwen.com/subject/uxwseqtx.html