基于Maven的Springboot项目源码部署到Docker解决方案

64 阅读1分钟

在实训项目部署过程中需使用Maven对项目进行构建,这样用户只需要提交项目源代码,由Maven对项目进行构建。

一、开发环境准备

本次实战需要提前准备好以下内容:

  1. Docker服务所在环境:CentOS Linux release 7.6.1810
  2. Docker:19.03.12

二、实现步骤

1. 项目源码准备

首先,需要将Springboot项目源代码拷贝到Docker服务所在服务器上,需包含src文件夹和pom.xml文件。如下图所示:

image.png

2. 添加Dockerfile文件

在pom.xml所在目录中新建Dockerfile文件,并对项目进行配置。

# 基础镜像,使用alpine操作系统,openjkd使用8u201
FROM openjdk:8u201-jdk-alpine3.9

#作者
LABEL name="chqiuu" email="chqiuu@qq.com" verison="1.0.5"

#设置环境变量,系统编码
ENV LANG=C.UTF-8 LC_ALL=C.UTF-8

#声明一个挂载点,容器内此路径会对应宿主机的某个文件夹
VOLUME ["/tmp"]

#应用构建成功后的jar文件被复制到镜像内,名字也改成了ithe.jar
ADD target/ithe-1.0.5.jar /usr/local/ithe/ithe.jar

#启动容器时的进程
ENTRYPOINT ["java","-jar","/usr/local/ithe/ithe.jar","--spring.profiles.active=prod"]

#暴露端口
EXPOSE 8030

3. 执行Docker构建命令

# 进入项目源码所在路径
[root@localhost ~]# cd /usr/src/ithe
# 执行Docker构建命令
[root@localhost ithe]# docker run -it --rm --name maven -v "$(pwd)":/usr/src/ithe -v maven-repo:/usr/share/maven/ref -w /usr/src/app registry.cn-hangzhou.aliyuncs.com/acs/maven mvn clean install -Dmaven.test.skip=true && docker build -t ithe . && docker run -p 8030:8030 --name ithe ithe

检查项目容器是否正常运行,如下图所示表示项目已正常启动,部署完成。

image.png

码觉客微信公众号