springboot2Javaidea

十三 . idea远程部署spring-boot

2019-09-26  本文已影响0人  任未然

一. 前期准备工作

1、版本说明

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工程打包

点击运行


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

在浏览器输入json请求测试

上一篇下一篇

猜你喜欢

热点阅读