注意:Dockerfile和deploy.sh文件需要跟jar包在同级目录
创建Dockerfile文件
# 拉取jre8镜像(因为只是运行jar包,所以就只拉取 jre)
FROM eclipse-temurin:8-jre# 安装字体
# 如果拉取的是eclipse-temurin:8-jre-alpine,这种带 alpine 结尾的都是比较轻量化的,可能里面缺少一些字体包,则需要将下面的代码反注释回来,下次字体包。如果缺少其他的什么依赖包,则自行查阅相关资料。
# RUN apk add --no-cache ttf-dejavu# docker容器工作目录(如果目录不存在,则会自行创建)
WORKDIR /app/jp# 将 JAR 文件复制到容器中
COPY jeeplus-vue.jar /app/jp/jp.jar# 使用宿主机的 Java
ENTRYPOINT ["java", "-jar", "/app/jp/jp.jar", "--spring.profiles.active=dev"]
创建deploy.sh文件。这个文件是用来一键创建容器的。如果执行的时候碰到了问题,则可以手动分步执行方便进行问题的排查。
#!/bin/bash# 构建镜像
docker build -t java8-jp-image .# 先检查容器是否存在,存在就删除
if [ "$(docker ps -a -q -f name=java8-jp)" ]; thenecho "Removing existing container..."docker rm -f java8-jp
fi# 运行容器
# 映射端口:-p {外部访问的端口}:{容器内部监听的端口}
# 挂载的写法:-v {宿主机路径}:{容器内部路径}
# 挂载静态资源目录:-v /home/service/jp/static:/app/jp/static
# 挂载配置文件目录: -v /home/service/jp/config:/app/jp/config
docker run -d -p 8081:8081 --name java8-jp -v /home/service/jp/static:/app/jp/static -v /home/service/jp/config:/app/jp/config java8-jp-image