如何在Docker容器中运行一个Spring Boot应用程序?

在Docker容器中运行一个Spring Boot应用程序,可以通过以下步骤进行:

  1. 构建Spring Boot应用程序:
@SpringBootApplication
public class DemoApplication {
    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }
}
  1. 构建Dockerfile:
Dockerfile
FROM openjdk:8-jdk-alpine
ARG JAR_FILE=target/demo-0.0.1-SNAPSHOT.jar
COPY ${JAR_FILE} app.jar
ENTRYPOINT ["```","-jar","/app.jar"]

此 Dockerfile 构建基于openjdk:8-jdk-alpine的镜像,将Spring Boot应用的JAR包复制到镜像内并指定为入口点。

  1. 构建镜像:
docker build -t spring-boot .
  1. 运行容器:
docker run -d -p 8080:8080 spring-boot 

此命令将在后台运行容器,并映射8080端口。

  1. 访问应用:
    打开http://localhost:8080可以访问Spring Boot应用。
  2. 在Docker Compose中定义应用:
yaml
version: '3'
services:
  spring-boot:
    build: .
    image: spring-boot
    ports:
      - "8080:8080"

bash
docker-compose up

可以一键启动应用。
所以,掌握在Docker中运行Spring Boot应用程序的方法,可以让我们实现基于容器的Spring Boot微服务架构,简化应用的开发、测试、部署流程。