如何将已编写Dockerfile的Spring Boot项目完成Docker容器化?
容器化后续操作步骤
- 第一步:核对文件路径与Dockerfile配置
首先将你编写的Dockerfile放到Spring Boot项目的根目录(与target文件夹同级),同时检查Dockerfile中的jar包命名是否正确:你当前Dockerfile里写的文件名是device-fixer-1.2.1.jar.jar,多了一个.jar后缀,建议核对target目录下实际生成的jar包名称,修正Dockerfile内容,避免构建时找不到文件的错误。
修正后参考Dockerfile:
项目目录结构参考:FROM openjdk:8-jdk-alpine ARG JAR_FILE=target/device-fixer-1.2.1.jar COPY ${JAR_FILE} device-fixer-1.2.1.jar ENTRYPOINT ["java","-jar","/device-fixer-1.2.1.jar"]
- 第二步:构建Docker镜像
在项目根目录(Dockerfile所在目录)打开终端,执行以下镜像构建命令:
其中docker build -t device-fixer:1.2.1 .-t参数用于为镜像设置自定义标签,格式为镜像名:版本号,末尾的.表示将当前目录作为Docker构建的上下文路径。 - 第三步:验证镜像构建结果
执行以下命令查看本地镜像列表,确认刚才构建的device-fixer:1.2.1镜像存在:docker images - 第四步:启动容器测试
执行以下命令基于构建好的镜像启动容器:
说明:docker run -d -p 8080:8080 --name device-fixer device-fixer:1.2.1-d表示让容器在后台运行-p 8080:8080是端口映射规则,前一个8080是宿主机端口,后一个8080是你的Spring Boot应用配置的监听端口,如果你的应用用的是其他端口,需要修改后一个端口值--name device-fixer是为运行的容器设置自定义名称
- 第五步:验证服务运行状态
- 执行
docker ps命令查看正在运行的容器列表,确认device-fixer容器状态为Up - 访问宿主机对应端口(比如
http://localhost:8080)验证应用功能正常 - 如果容器启动失败,可以执行
docker logs device-fixer查看容器日志排查问题
- 执行
内容的提问来源于stack exchange,提问作者guidop21
相关产品推荐
相关产品推荐

