Docker发布SpringBoot微服务应用Quick Start

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
云原生网关 MSE Higress,422元/月
注册配置 MSE Nacos/ZooKeeper,118元/月
简介: 本文基于IDEA快速构建一个SpringBoot API应用,然后基于DockerFile构建自定义镜像,接着使用自定义镜像发布自己的应用,开启ECS网络安全组对应服务的端口,实现通过公网访问到部署在Container中的微服务应用。

Step By Step

1、IDEA创建微服务应用
2、编辑Dockerfile
3、Build 镜像
4、Docker Run发布镜像
5、开启ECS网络安全组,实现外部访问


1、IDEA创建微服务应用
1.1 创建项目

图片.png

1.2 添加Controller

图片.png

Code Sample
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloController {

    @RequestMapping("/hello")
    public String Hello()
    {
        return "hello world!";
    }
}
1.3 本地启动测试

图片.png

图片.png

1.4 maven 打包应用

图片.png

2、编辑Dockerfile
FROM java:8
ADD demo-0.0.1-SNAPSHOT.jar /docker-test.jar
EXPOSE 8080
ENTRYPOINT ["java","-jar","/docker-test.jar"]
3、Build 镜像
3.1 创建一个目录,下面存放jar包和Dockerfile文件

图片.png

3.2 build image
docker build -t docker-test:0.1 .

图片.png

4、Docker Run发布镜像
4.1 后端启动容器
docker run -d -p 8080:8080 docker-test:0.1

图片.png

4.2 本地访问:curl localhost:8080/hello

图片.png

5、开启ECS网络安全组,实现外部访问
5.1 安全组放行

图片.png

5.2 公网访问测试

图片.png

更多参考

java部署微服务到Docker
curl(56) Recv failure: Connection reset by peer以及解决方案

相关文章
|
3天前
|
运维 监控 Java
为何内存不够用?微服务改造启动多个Spring Boot的陷阱与解决方案
本文记录并复盘了生产环境中Spring Boot应用内存占用过高的问题及解决过程。系统上线初期运行正常,但随着业务量上升,多个Spring Boot应用共占用了64G内存中的大部分,导致应用假死。通过jps和jmap工具排查发现,原因是运维人员未设置JVM参数,导致默认配置下每个应用占用近12G内存。最终通过调整JVM参数、优化堆内存大小等措施解决了问题。建议在生产环境中合理设置JVM参数,避免资源浪费和性能问题。
19 3
|
25天前
|
存储 Prometheus 监控
Docker容器内进行应用调试与故障排除的方法与技巧,包括使用日志、进入容器检查、利用监控工具及检查配置等,旨在帮助用户有效应对应用部署中的挑战,确保应用稳定运行
本文深入探讨了在Docker容器内进行应用调试与故障排除的方法与技巧,包括使用日志、进入容器检查、利用监控工具及检查配置等,旨在帮助用户有效应对应用部署中的挑战,确保应用稳定运行。
32 5
|
25天前
|
开发框架 安全 开发者
Docker 是一种容器化技术,支持开发者将应用及其依赖打包成容器,在不同平台运行而无需修改。
Docker 是一种容器化技术,支持开发者将应用及其依赖打包成容器,在不同平台运行而无需修改。本文探讨了 Docker 在多平台应用构建与部署中的作用,包括环境一致性、依赖管理、快速构建等优势,以及部署流程和注意事项,展示了 Docker 如何简化开发与部署过程,提高效率和可移植性。
54 4
|
25天前
|
存储 缓存 运维
Docker镜像采用分层存储,每层代表镜像的一部分,如基础组件或应用依赖,多层叠加构成完整镜像
Docker镜像采用分层存储,每层代表镜像的一部分,如基础组件或应用依赖,多层叠加构成完整镜像。此机制减少存储占用,提高构建和传输效率。Docker还通过缓存机制提升构建和运行效率,减少重复工作。文章深入解析了Docker镜像分层存储与缓存机制,包括具体实现、管理优化及实际应用案例,帮助读者全面理解其优势与挑战。
43 4
|
28天前
|
消息中间件 Java Kafka
Spring Boot 与 Apache Kafka 集成详解:构建高效消息驱动应用
Spring Boot 与 Apache Kafka 集成详解:构建高效消息驱动应用
43 1
|
29天前
|
持续交付 开发者 Docker
探索容器化技术Docker及其在现代软件开发中的应用
探索容器化技术Docker及其在现代软件开发中的应用
|
29天前
|
持续交付 开发者 Docker
探索容器化技术Docker及其在现代软件开发中的应用
探索容器化技术Docker及其在现代软件开发中的应用
|
27天前
|
Kubernetes Linux 开发者
深入探索容器化技术——Docker 的实战应用
深入探索容器化技术——Docker 的实战应用
74 0
|
28天前
|
存储 Cloud Native 开发者
深入探索容器化技术——Docker的实战应用
深入探索容器化技术——Docker的实战应用
38 0
|
28天前
|
存储 安全 Docker
Docker 的实战应用与优化策略
Docker 的实战应用与优化策略
36 0