在docker上部署springboot项目

〇、环境

开发:win10 + idea2020.1 + java11

部署:centos7+docker

一、下载openjdk

docker pull openjdk:版本号

docker run --name=myopenjdk -idt openjdk:版本号

二、打包springboot项目注意事项

  1.去掉Test步骤,快速打包;

  选中test,点击蓝色闪电,选中package,点击绿色三角。

  

  2.文件读取方式

    不用使用***.getFile(),***.getFileName(),而是使用如下方式:

 1 InputStream is=this.getClass().getResourceAsStream("/static/***.csv");

 2 BufferedReader br = new BufferedReader(new InputStreamReader(is));

  3.layui的图标

    要使用下图第一种方式。若使用第二种方式很可能只显示一个 口

    

三、创建jar镜像

  1.Dockerfile文件

  把打包好的jar包放到CentOS7里,并在同目录下新建一个文件——Dockerfile,文件内容如下(要注意java版本、jar包名的修改):

# 基于openjdk 镜像
FROM openjdk:版本号
 
# 将本地文件夹挂在到当前容器
VOLUME /tmp
 
# 复制文件到容器
ADD demo-0.0.1-SNAPSHOT.jar app.jar
 
# 声明需要暴露的端口
EXPOSE 8080
 
# 配置容器启动后执行的命令
RUN bash -c "touch /app.jar" ENTRYPOINT [
"java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

  2.创建镜像

docker build -t server .
  • -t 表示将新镜像命名为 server
  • 末尾的 . 指明 build context 为当前目录
  • Docker 默认会从 build context 中查找 Dockerfile 文件,我们也可以通过 -f 参数指定 Dockerfile 的位置。

  3.运行镜像

docker run --net host -it -d -p 8080:8080  server

四、让防火墙开放8080端口

  systemctl start firewalld                  开启防火墙

  firewall-cmd --zone=public --add-port=8080/tcp --permanent  开放8080端口

原文地址:https://www.cnblogs.com/Drajun/p/12846429.html