通过idea 部署springboot项目到docker

https://mp.weixin.qq.com/s/qPDBwCJOOXvpFTxYnYxEug(图片请看源链接)
Idea是Java开发利器,springboot是Java生态中最流行的微服务框架,docker是时下最火的容器技术,那么它们结合在一起会产生什么化学反应呢?
一、开发前准备1. Docker的安装可以参考https://docs.docker.com/install/2. 配置docker远程连接端口 vi /usr/lib/systemd/system/docker.service找到 ExecStart ,在最后面添加 -H tcp://0.0.0.0:2375 ,如下图所示图片图片3. 重启docker systemctl daemon-reload systemctl start docker4. 开放端口firewall-cmd --zone=public --add-port=2375/tcp --permanent5. Idea安装插件,重启图片图片6. 连接远程docker(1) 编辑配置图片图片(2) 填远程docker地址图片图片(3) 连接成功,会列出远程docker容器和镜像图片图片二、新建项目1. 创建springboot项目项目结构图图片图片(1) 配置pom文件<?xml version="1.0" encoding="UTF-8"?> 4.0.0 docker-demo com.demo 1.0-SNAPSHOT org.springframework.boot spring-boot-starter-parent 2.0.2.RELEASE <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <docker.image.prefix>com.demo</docker.image.prefix> <java.version>1.8</java.version> org.springframework.boot spring-boot-maven-plugin com.spotify docker-maven-plugin 1.0.0 src/main/docker / p r o j e c t . b u i l d . d i r e c t o r y < / d i r e c t o r y > < i n c l u d e > {project.build.directory}</directory> <include> project.build.directory</directory><include>{project.build.finalName}.jar maven-antrun-plugin package run org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-test test log4j log4j 1.2.17 (2) 在src/main目录下创建docker目录,并创建Dockerfile文件FROM openjdk:8-jdk-alpineADD *.jar app.jarENTRYPOINT “java”,"-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar" 在resource目录下创建application.properties文件logging.config=classpath:logback.xmllogging.path=/home/developer/app/logs/server.port=8990(4) 创建DockerApplication文件@SpringBootApplicationpublic class DockerApplication { public static void main(String[] args) { SpringApplication.run(DockerApplication.class, args); }}(5) 创建DockerController文件@RestControllerpublic class DockerController { static Log log = LogFactory.getLog(DockerController.class); @RequestMapping("/") public String index() { log.info(“Hello Docker!”); return “Hello Docker!”; }}(6) 增加配置图片图片图片图片图片图片命令解释  Image tag : 指定镜像名称和tag ,镜像名称为 docker-demo ,tag 为1.1 Bind ports : 绑定宿主机端口到容器内部端口。格式为[宿主机端口]:[容器内部端口]  Bind mounts : 将宿主机目录挂到到容器内部目录中。格式为[宿主机目录]:[容器内部目录]。这个springboot项目会将日志打印在容器 /home/developer/app/logs/ 目录下,将宿主机目录挂载到容器内部目录后,那么日志就会持久化容器外部的宿主机目录中。(7) Maven打包图片图片(8) 运行图片图片图片图片先pull基础镜像,然后再打包镜像,并将镜像部署到远程docker运行图片图片这里我们可以看到镜像名称为docker-demo:1.1,docker容器为docker-server(9) 运行成功图片图片(10) 浏览器访问图片图片(11) 日志查看图片图片自此通过idea 部署springboot项目到docker成功!难以想象,部署一个Javaweb项目竟然如此简单方便!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值