美文网首页springboot2Javaidea
十三 . idea远程部署spring-boot

十三 . idea远程部署spring-boot

作者: 任未然 | 来源:发表于2019-09-26 09:22 被阅读0次

    一. 前期准备工作

    1、版本说明

    • idea 2019
    • docker 19.03.1
    • ubunt 18

    2、安装docker 参照

    https://www.jianshu.com/nb/39832904
    

    3、配置docker远程连接端口

    # 登录远程服务器 修改 当前操作是ubuntu18
    vim /lib/systemd/system/docker.service
    # 修改ExecStart这行
    ExecStart=/usr/bin/dockerd  -H tcp://0.0.0.0:2375  -H unix:///var/run/docker.sock
    # 重新加载配置文件
    systemctl daemon-reload    
    # 重启服务
    systemctl restart docker.service 
    # 查看端口是否开启
    netstat -nlpt
    

    注: 如果是云服务器记得打开开启设置的端口

    4、 Idea安装插件

    image

    5、连接远程docker

    image

    6、docker图形界面

    image

    二. 在工程根目录下创建docker-compose.yml

    version: "3.7"
    services:
      # (可选)配置工程基础数据库
      app-db:
        #容器名字
        container_name: db-order
        image: mysql:5.7.22
        #文件挂载,把数据库的数据保存到本工程的根目录
        volumes:
          - ./mysql/data:/var/lib/mysql
        # 对外映射端口
        ports:
          - "3308:3306"
        #一直重启
        restart: always
        # 配置
        command:
          #  防止低版本的连接客服报错的问题
          --default-authentication-plugin=mysql_native_password
          # 设置数据库的编码
          --character-set-server=utf8mb4
          # 设置数据库默认的排序方式
          --collation-server=utf8mb4_general_ci
          # 解决低版本不允许时间字段 not null
          --explicit_defaults_for_timestamp=true
          # Linux  表名区分大小写   1 表示不区分大小写
          --lower_case_table_names=1
          # 如果报错 去掉该行,主要是解决5.7group by语法错误的情况
          --sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO"
        environment:
          # 初始化数据库密码
          MYSQL_ROOT_PASSWORD: root
          # 初始化数据库的名字
          MYSQL_DATABASE: db_order
          # 时区
          TZ: Asia/Shanghai
      # 采用dockerfile创建镜像部署(如果有多个子模块可写多个,每个指定配置指定dockerfile的路径就行)
      app:
        container_name: app-container
        build: .
        restart: always
        ports:
          - 9100:8080
        depends_on:
          - app-db
    

    三. 在子工程根目录下创建dockerfile文件

    注意名字为Dockerfile,首字母大写

    官方镜像都是基于openjdk所以自己造了一个,可以用过网络下载jdk,也可以本地上传jdk,本方法是采用本地上传,需把jdk文件与dockerfile放在容易文件夹下

    FROM ubuntu
    # java相关变量名
    # 根据你自己的版本修改成对应的
    ENV java jdk-8u221-linux-x64.tar.gz
    ENV jdk jdk1.8.0_221
    ADD   ./${java}    /usr/local/java/
    # 设置java环境
    ENV JAVA_HOME /usr/local/java/${jdk}
    ENV CLASSPATH $JAVA_HOME/lib;$JAVA_HOME/jre/lib
    ENV PATH $PATH:$JAVA_HOME/bin
    # 上级目录的target
    COPY ./target/*.jar app.jar
    # 启动容器的时候 启动tomcat
    ENTRYPOINT ["java","-jar","app.jar"]
    

    结构图示

    四. 编辑配置

    image image

    将springboot工程打包

    • 通过工具点击执行


      屏幕快照 2019-09-22 17.58.02.png

    点击运行


    注意:创建完成时间看项目的大小而论,请耐心等待卡在一下界面为正常状态

    在浏览器输入json请求测试

    相关文章

      网友评论

        本文标题:十三 . idea远程部署spring-boot

        本文链接:https://www.haomeiwen.com/subject/cpweuctx.html