赞
踩
要使用Docker部署Spring Boot应用,需要创建一个Dockerfile来定义如何构建Docker镜像,并且可能还需要在Maven构建脚本中集成Docker插件以简化构建过程。以下是详细的步骤:
在Spring Boot项目的根目录下创建一个名为Dockerfile
的文件,内容如下:
# 使用官方的Java基础镜像作为基础环境
FROM adoptopenjdk:11-jre-hotspot
# 设置环境变量(可根据实际需求调整)
ENV SPRING_PROFILES_ACTIVE=prod
ENV SERVER_PORT=8080
# 设置工作目录
WORKDIR /app
# 复制应用所需的文件到容器中
COPY target/my-spring-boot-app.jar app.jar
# 声明应用运行时需要暴露的端口
EXPOSE 8080
# 定义容器启动时执行的命令
ENTRYPOINT ["java", "-jar", "app.jar"]
这里的my-spring-boot-app.jar
是构建得到的WAR文件名,请将其替换为实际的WAR文件名。使用的Java基础镜像是AdoptOpenJDK 11(可替换为所需的Java版本),并且假设应用监听在端口8080。
确保已经按照之前的指导将项目配置为WAR打包,并通过Maven构建工具生成WAR文件:
mvn clean package
在项目根目录下(含有Dockerfile)执行以下命令构建Docker镜像:
docker build -t my-spring-boot-app:latest .
这里my-spring-boot-app
是自定义的镜像名,:latest
是标签。构建完成后,将拥有一个名为my-spring-boot-app:latest
的Docker镜像。
使用以下命令启动Docker容器:
docker run -d --name my-running-app -p 8080:8080 my-spring-boot-app:latest
参数解释:
-d
:在后台运行容器。--name my-running-app
:为容器指定一个名称。-p 8080:8080
:将主机的8080端口映射到容器的8080端口,使得外部可以通过主机IP和端口访问应用。my-spring-boot-app:latest
:使用的镜像名及标签。容器启动后,可以通过以下URL访问Spring Boot应用:
http://localhost:8080
pom.xml
在同一层级。COPY
命令的源路径应与实际WAR文件生成的位置相对应。按照以上步骤,就能使用Docker部署Spring Boot WAR应用了。如果有任何问题或需要进一步的帮助,请随时评论提问。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。