使用 Docker 部署 Spring boot 项目

2023-02-27 15:23:50
## 将项目打包为 jar ``` $ mvn clean package -Dmaven.test.skip=true ``` 执行成功后,你可以在 target 目录中找到对应 jar 包,例如 demo-1.0-SNAPSHOT.jar ## 上传到 Linux 服务器 ``` $ scp target/demo-1.0-SNAPSHOT.jar root@服务器IP:/opt/ ``` ## 构建 Docker 镜像 登录 Linux,`cd /opt` 创建 Dockerfile 文件内容如下 ``` FROM pfinal/java:8u301 ADD ./demo.jar /data/app.jar WORKDIR /data ARG APP_VERSION ENV APP_VERSION "${APP_VERSION}" ENV JAVA_OPTS "" EXPOSE 8080 ENTRYPOINT java ${JAVA_OPTS} -jar app.jar ``` 开始构建镜像 ``` $ docker build -t demo:1.0 . ``` Dockerfile 假定 JAR 文件的名称为 demo.jar,并且位于与 Dockerfile 相同的目录中。EXPOSE 指令指定容器将在端口 8080 上监听,JAVA_OPTS 环境变量可用于在运行时向容器传递额外的 JVM 选项。 ## 启动 ``` $ docker run -d -p 8080:8080 demo:1.0 ``` docker run 命令中的 -p 选项将容器的 8080 端口映射到主机的 8080 端口