IDEA远程一键部署SpringBoot到Docker
一、Docker 环境安装
1、配置docker远程连接端口
1 | vim /usr/lib/systemd/system/docker.service |
找到 ExecStart,在最后面添加 -H tcp://0.0.0.0:2375,大约在14行
1 | ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock -H tcp://0.0.0.0:2375 |
2、重启docker
1 | systemctl daemon-reload |
3、若开启防火墙,请开放2357端口
1 | firewall-cmd --zone=public --add-port=2375/tcp --permanent |
二、IDEA 环境配置
1、idea安装插件
2、远程连接docker编辑配置
3、填远程docker地址
4、连接成功,会列出远程docker容器和镜像
三、SpringBoot项目配置
首先创建一个spring-boot-starter-web的基本项目,创建一个测试请求返回Hello Docker,并指定log日志地址,方便我们把日志输出到宿主机上。
1、POM依赖配置,主要添加docker的打包plugins
1 | <?xml version="1.0" encoding="UTF-8"?> |
2、测试请求
1 | package com.cnsyear.springbootdocker; |
3、application.properties
1 | server.port=9090 |
4、创建Dockerfile
在src/main目录下创建docker目录,并创建Dockerfile文件,该目录对应着pom文件中maven-antrun-plugin的配置。
1 | FROM openjdk:8-jdk-alpine |
5、增加配置
命令解释:
- Image tag : 指定镜像名称和tag,镜像名称为 springboot-docker,tag为1.0
- Container name : 指定容器名称
- Bind ports : 绑定宿主机端口到容器内部端口。格式为[宿主机端口]:[容器内部端口]
- Bind mounts : 将宿主机目录挂到到容器内部目录中。
格式为[宿主机目录]:[容器内部目录]。这个springboot项目会将日志打印在容器 /home/developer/app/logs/ 目录下,将宿主机目录挂载到容器内部目录后,那么日志就会持久化容器外部的宿主机目录中。
6、Docker启动
先执行mvn install,在点击docker启动
运行成功
参考文档: