博客
关于我
Docker-Docker部署SpringBoot项目
阅读量:460 次
发布时间:2019-03-06

本文共 3006 字,大约阅读时间需要 10 分钟。

Spring Boot项目到Docker容器化部署指南

1. 手工方式

1.1 准备Spring Boot jar项目

将项目打包成jar文件。使用Maven进行项目构建和打包。执行以下命令:

mvn package

1.2 编写Dockerfile

编写一个适用于Spring Boot项目的Dockerfile。以下是示例Dockerfile:

FROM java:8VOLUME /tmpADD elk-web-1.0-SNAPSHOT.jar elk.jarEXPOSE 8080ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "/elk.jar"]

Dockerfile解释:

  • FROM java:8:使用Java 8作为基础镜像。
  • VOLUME /tmp:创建/tmp目录并持久化到Docker数据文件夹,用于存储Spring Boot容器的工作目录。
  • ADD elk-web-1.0-SNAPSHOT.jar elk.jar:将JAR文件复制到/elk.jar
  • EXPOSE 8080:指定容器公开的端口。
  • ENTRYPOINT:容器启动时执行的命令,用于启动Spring Boot应用程序。

1.3 构建容器

使用Docker命令构建镜像:

docker build -t elk .

1.4 运行容器

运行容器并映射端口:

docker run -d --name myspringboot -p 8080:8080 elk

选项说明:

  • -d:表示后台运行容器。
  • --name:指定容器名称。
  • -p:将容器内部的8080端口映射到宿主机的8080端口。

1.5 查看运行日志

查看容器日志:

docker logs -f --tail=100 myspringboot

1.6 访问测试

通过浏览器访问容器IP地址和端口:

curl http://localhost:8080

2. Docker远程连接并使用IDEA一键部署

2.1 配置Docker远程连接端口

编辑Docker服务文件:

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

ExecStart行后添加:

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

重启Docker服务:

systemctl daemon-reloadservice docker restart

测试远程连接:

curl http://localhost:2375/version

2.2 使用IDEA连接到Docker

在IDEA中配置Docker地址:

  • 打开File > Settings > Build, Execution, Deployment > Docker
  • 配置Docker地址和端口(如2375)

2.3 Docker-Maven-Plugin介绍

在Maven项目中集成Docker-Maven-Plugin,实现自动构建和推送镜像。

pom.xml示例:

${project.artifactId}
org.springframework.boot
spring-boot-maven-plugin
true
org.apache.maven.plugins
maven-surefire-plugin
true
com.spotify
docker-maven-plugin
1.0.0
build-image
package
build
bruceliu/${project.artifactId}
latest
java
bruceliu@email.com
/ROOT
["java", "-version"]
["java", "-jar", "/${project.build.finalName}.jar"]
http://122.51.50.249:2375
/
${project.build.directory}
${project.build.finalName}.jar

运行Maven命令:

mvn package

2.4 一键部署

在IDEA中:

  • 右键项目根目录,选择Build > Build Artifact > Docker > Build and Push
  • 项目构建完成后,镜像会自动推送到仓库。
  • 通过以上步骤,您可以轻松将Spring Boot项目构建并部署到Docker容器中,支持远程连接和持续集成。

    转载地址:http://vlwfz.baihongyu.com/

    你可能感兴趣的文章
    onlyoffice新版5.1.2版解决中文汉字输入重复等问题
    查看>>
    onnx导出动态输入
    查看>>
    onnx导出动态输入
    查看>>
    onScrollStateChanged无效
    查看>>
    onTouchEvent构造器
    查看>>
    on_member_join 和删除不起作用.如何让它发挥作用?
    查看>>
    oobbs开发手记
    查看>>
    OOM怎么办,教你生成dump文件以及查看(IT枫斗者)
    查看>>
    OOP
    查看>>
    OOP之单例模式
    查看>>
    OOP向AOP思想的延伸
    查看>>
    OO第一次blog
    查看>>
    OO第四单元总结
    查看>>
    OO第四次博客作业
    查看>>
    OO面向对象编程:第三单元总结
    查看>>
    Opacity多浏览器透明度兼容处理
    查看>>
    OPC在工控上位机中的应用
    查看>>
    OPEN CASCADE Curve Continuity
    查看>>
    Open Graph Protocol(开放内容协议)
    查看>>
    Open vSwitch实验常用命令
    查看>>