使用Idea创建一键部署项目到Docker

1. 安装docker

这里注意如果你是新服务器,请先安装yum源

1.1 安装依赖包

yum install -y yum-utils device-mapper-persistent-data lvm2

1.2 配置镜像源

//这里配阿里置国内镜像,会快很多
yum config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

1.3 安装依赖包

yum install -y yum-utils device-mapper-persistent-data lvm2

1.4 安装 containerd

yum install -y containerd.io --allowerasing

1.5 安装 Docker Engine-Community

# 搜索存储库中可用的版本,按照版本号从高到低排序
yum list docker-ce --showduplicates | sort -r
 
 
# 选择可用的版本
yum install -y docker-ce-[这里填版本号]

1.6 验证docker是否安装成功,以及设置开机自启

docker version

1.7 docker常用命令

//设置开机自启(强烈建议使用)
systemctl enable docker
//启动 Docker
systemctl start docker
//重启 Docker
systemctl restart docker
//停止 Docker
systemctl stop docker

以上部分为docker安装部分,如果已经安装则自动忽略

2.IDEA连接Docker

1.开启Docker远程连接
idea整合docker,需要连接到docker,这就需要开启docker的远程连接了

执行命令

sudo vim /usr/lib/systemd/system/docker.service

在如下位置添加内容
在这里插入图片描述

-H unix://var/run/docker.sock -H tcp://0.0.0.0:2375

注意:在Execstart= 内容的末尾进行添加,添加时需要与前面内容之间加上 “空格”

保存后,执行命令

systemctl daemon-reload
systemctl restart docker

重启docker 输入命令下面命令查询端口是否开启成功

netstat -ntlp

2.配置IDEA的Docker插件

2.1.IDEA安装Docker插件
在这里插入图片描述
2.2.配置Docker信息(截图ip为服务器ip)
在这里插入图片描述
打开IDEA底部services,已经能看到连接上Docker和所有的镜像和容器信息。

3 开始部署项目

3.1 添加 Dockerfile 文件
首先呢在项目根目录添加 Dockerfile 文件,什么是根目录,就是和你pom.xml同级的

# 基础镜像
FROM java:8
 
# 维护者信息
LABEL maintainer=<tom@163.com>
 
#设置容器时区为当前时
RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \&& echo 'Asia/Shanghai' >/etc/timezone
 
# /tmp 目录作为容器数据卷目录,SpringBoot内嵌Tomcat容器默认使用/tmp作为工作目录,任何向 /tmp 中写入的信息不会记录进容器存储层
# 在宿主机的/var/lib/docker目录下创建一个临时文件并把它链接到容器中的/tmp目录
VOLUME /tmp
 
# 复制主机文件至镜像内,复制的目录需放置在 Dockerfile 文件同级目录下
ADD target/warning-analysis.jar warn.jar
 
# 容器启动执行命令
ENTRYPOINT ["java","-jar","warn.jar"]
 
#声明容器提供服务端口
EXPOSE 7777

3.2 运行配置
在这里插入图片描述

4 配置不同的YML实现开发和部署环境切换

4.1 配置公共配置信息和切换环境信息 application.yml

server:
  port: 8180
  servlet:
    context-path: /instrumentBook
 
spring:
  profiles:
    active: prod   #主要就是这里的切换配置:dev开发环境,prod生产环境
  task:
    execution:
      pool:
        max-size: 10
 
mybatis:
  type-aliases-package: com.jlict.entity
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
 
mybatis-plus:
  global-config:
    db-config:
      table-prefix: t_
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
 

4.2 配置开发环境信息 application-dev.yml

spring:
  #数据库连接信息
  datasource:
    druid:
      driver-class-name: com.mysql.cj.jdbc.Driver
      url: jdbc:mysql://localhost:3306/数据库?serverTimezone=Asia/Shanghai&useSSL=false&useUnicode=true&characterEncoding=utf8
      username: 数据库连接用户名
      password: 数据库连接密码
  #Redis连接信息
  redis:
    host: localhost
    port: 6379
    database: 0
    password:
    lettuce:
      pool:
        max-active: 8
        max-wait: -1ms
        max-idle: 8
        min-idle: 0
    timeout: 5000ms
  #静态文件访问地址
  web:
    resources:
      static-locations: "file:D:/EquipImg/"
 
#文件上传地址
equipUpload:
  imgDir: D:/EquipImg/

4.3 配置生产环境信息 application-prod.yml

spring:
  #数据库连接信息
  datasource:
    druid:
      driver-class-name: com.mysql.cj.jdbc.Driver
      url: jdbc:mysql://localhost:3306/数据库?serverTimezone=Asia/Shanghai&useSSL=false&useUnicode=true&characterEncoding=utf8
      username: 数据库连接用户名
      password: 数据库连接密码
  #Redis连接信息
  redis:
    host: localhost
    port: 6379
    database: 0
    password:
    lettuce:
      pool:
        max-active: 8
        max-wait: -1ms
        max-idle: 8
        min-idle: 0
    timeout: 5000ms
  #静态文件访问地址
  web:
    resources:
      static-locations: "file:/EquipImg/"
 
#文件上传地址
equipUpload:
  imgDir: /EquipImg/
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值