Docker部署Springboot后台

347 阅读1分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第23天,点击查看活动详情

Docker项目部署(后端)

①预处理项目

先去pom.xml文件处,检查version标签是否带有SNAPSHOT字段,若带有则去掉,否则再封装成镜像时会报错

1649514954929

选择packaging成jar

1649514985529

②项目打包

点maven——点package

1649514837168

③导入云服务器

拿到jar包上传云服务器

1649515192047

对于特定项目的镜像制作可以放在特定的文件夹(这里用的是自建的app文件夹)

1649515476160

④编写dockerfile文件

dockerfile文件用于编写制作镜像执行的命令

vim dockerfile

在dockerfile中添加如下命令

FROM java:8
EXPOSE 8088
VOLUME /tmp
​
ENV TZ=Asia/Shanghai
RUN ln -sf /usr/share/zoneinfo/{TZ} /etc/localtime && echo "{TZ}" > /etc/timezone
​
ADD zkdcms-0.0.1.jar app.jar
RUN bash -c 'touch /app.jar'
# CMD java -jar app.jar
ENTRYPOINT ["java","-jar","/app.jar"]

务必按照zkdcms-0.0.1.jar 这种格式,多个就在打包处cut掉

解释:

  • FROM java:8 表示基于jdk8环境

  • EXPOSE 8088 表示对外暴露的端口是8088

    • VOLUME /tmp 表示挂载到/tmp目录
  • ADD zkdcms-0.0.1.jar app.jar 表示把jar包复制到镜像服务里面的根目录,并改名称app.jar

  • RUN bash -c 'touch /app.jar' 表示执行创建app.jar

  • ENTRYPOINT ["java","-jar","/app.jar"] 表示执行启动命令java -jar

⑤创建镜像

docker build  -t app5.22.1 .

1649518886459

app1.0为自定义的创建好的镜像的名字

⑥创建并启动容器

docker run -p 8088:8088 --name app5.22.1 --link mysql8.0:emysql --link myredis:eredis -d app5.22.1:latest

1649519019255

app为自定义的容器名字

app1.0:latest为当前镜像及版本

⑦查看其内部日志

docker logs -f app4.28
docker logs -f -t --tail=100 CONTAINER_ID

\