zoukankan      html  css  js  c++  java
  • 在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端口

  • 相关阅读:
    提取数据用strpos函数比较,预期和实际不符问题解决
    thinkphp模板中foreach循环没数据的错误解决
    错误之thinkphp模型使用发生的错误
    ThinkPHP添加模板时,犯的三个错
    mysql中的comment用法
    在cmd下输入/g无效
    Windows下PHPUnit安装
    python中string.casefold和string.lower区别
    python3数据类型
    python终端颜色设置
  • 原文地址:https://www.cnblogs.com/Drajun/p/12846429.html
Copyright © 2011-2022 走看看