当前位置:   article > 正文

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

idea docker

1. 安装docker

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

1.1 安装依赖包

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


1.2 配置镜像源

  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

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

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

docker version

1.7 docker常用命令

  1. //设置开机自启(强烈建议使用)
  2. systemctl enable docker
  3. //启动 Docker
  4. systemctl start docker
  5. //重启 Docker
  6. systemctl restart docker
  7. //停止 Docker
  8. systemctl stop 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

保存后,执行命令

  1. systemctl daemon-reload
  2. systemctl restart docker

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

netstat -ntlp

2.配置IDEA的Docker插件

2.1.IDEA安装Docker插件

2.2.配置Docker信息

打开IDEA底部services,已经能看到连接上Docker和所有的镜像和容器信息。

3 开始部署项目

3.1 添加 Dockerfile 文件

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

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

3.2 运行配置

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

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

  1. #配置服务器端口号、路径
  2. server:
  3. port: 8180
  4. servlet:
  5. context-path: /instrumentBook
  6. spring:
  7. profiles:
  8. active: prod #dev开发环境,prod生产环境
  9. task:
  10. execution:
  11. pool:
  12. max-size: 10
  13. mybatis:
  14. #配置实体类 类型别名,首字母小写!
  15. type-aliases-package: com.jlict.entity
  16. #开启日志
  17. configuration:
  18. log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
  19. # 全局的id生成策略
  20. mybatis-plus:
  21. global-config:
  22. db-config:
  23. table-prefix: t_
  24. #开启日志
  25. configuration:
  26. log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

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

  1. spring:
  2. #数据库连接信息
  3. datasource:
  4. druid:
  5. driver-class-name: com.mysql.cj.jdbc.Driver
  6. url: jdbc:mysql://localhost:3306/数据库?serverTimezone=Asia/Shanghai&useSSL=false&useUnicode=true&characterEncoding=utf8
  7. username: 数据库连接用户名
  8. password: 数据库连接密码
  9. #Redis连接信息
  10. redis:
  11. host: localhost
  12. port: 6379
  13. database: 0
  14. password:
  15. lettuce:
  16. pool:
  17. max-active: 8
  18. max-wait: -1ms
  19. max-idle: 8
  20. min-idle: 0
  21. timeout: 5000ms
  22. #静态文件访问地址
  23. web:
  24. resources:
  25. static-locations: "file:D:/EquipImg/"
  26. #文件上传地址
  27. equipUpload:
  28. imgDir: D:/EquipImg/

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

  1. spring:
  2. #数据库连接信息
  3. datasource:
  4. druid:
  5. driver-class-name: com.mysql.cj.jdbc.Driver
  6. url: jdbc:mysql://localhost:3306/数据库?serverTimezone=Asia/Shanghai&useSSL=false&useUnicode=true&characterEncoding=utf8
  7. username: 数据库连接用户名
  8. password: 数据库连接密码
  9. #Redis连接信息
  10. redis:
  11. host: localhost
  12. port: 6379
  13. database: 0
  14. password:
  15. lettuce:
  16. pool:
  17. max-active: 8
  18. max-wait: -1ms
  19. max-idle: 8
  20. min-idle: 0
  21. timeout: 5000ms
  22. #静态文件访问地址
  23. web:
  24. resources:
  25. static-locations: "file:/EquipImg/"
  26. #文件上传地址
  27. equipUpload:
  28. imgDir: /EquipImg/

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/神奇cpp/article/detail/973004
推荐阅读
相关标签
  

闽ICP备14008679号