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 docker
4.开放端口
- firewall-cmd --zone=public --add-port=2375/tcp --permanent
5.Idea安装插件,重启
6.连接远程docker
(1) 编辑配置
(2) 填远程docker地址
(3) 连接成功,会列出远程docker容器和镜像
1.创建springboot项目
项目结构图:
(1) 配置pom文件
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0 docker-demo com.demo 1.0-SNAPSHOT org.springframework.boot spring-boot-starter-parent 2.0.2.RELEASE UTF-8 UTF-8 com.demo 1.8 org.springframework.boot spring-boot-maven-plugin com.spotify docker-maven-plugin 1.0.0 src/main/docker / ${project.build.directory} ${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-alpine
- ADD *.jar app.jar
- ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
(3) 在resource目录下创建application.properties文件
- logging.config=classpath:logback.xml
- logging.path=/home/developer/app/logs/
- server.port=8990
(4) 创建DockerApplication文件
- @SpringBootApplication
- public class DockerApplication {
- public static void main(String[] args) {
- SpringApplication.run(DockerApplication.class, args);
- }
- }
(5) 创建DockerController文件
- @RestController
- public 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项目竟然如此简单方便!
网页题目:当Docker遇上IDEA ,生产力彻底炸裂了
文章位置:http://www.mswzjz.cn/qtweb/news26/479176.html
攀枝花网站建设、攀枝花网站运维推广公司-贝锐智能,是专注品牌与效果的网络营销公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 贝锐智能