欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 创投人物 > Dockerfile部署springboot 项目或者springcloud项目

Dockerfile部署springboot 项目或者springcloud项目

2025/4/15 13:38:51 来源:https://blog.csdn.net/a378113472/article/details/147138143  浏览:    关键词:Dockerfile部署springboot 项目或者springcloud项目

1.创建一个Dockerfile文件
在jar包的同一目录创建一个Dockerfile文件
并把打好的jar包和文件在同级
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

# 使用 OpenJDK 17 作为基础镜像,该镜像包含 JDK 17 环境
# 该镜像适用于需要编译或运行基于 JDK 17 的 Java 应用程序FROM openjdk:17# 设置容器中的工作目录为 /app
# 所有后续操作(如文件复制、命令执行等)都会基于该目录进行WORKDIR /app# 将本地的 JAR 文件 复制到容器的 /app 目录下
# COPY 命令将指定路径的文件从构建上下文复制到镜像中的目标路径COPY  gaterway-1.0-SNAPSHOT.jar /app/gaterway-1.0-SNAPSHOT.jar# 设置环境变量 JAR_FILE,指向 JAR 文件的名称
# 环境变量可以在容器运行时被应用程序或其他脚本访问
# 这里设置环境变量方便在 Dockerfile 中或运行时引用 JAR 文件ENV JAR_FILE=gaterway-1.0-SNAPSHOT.jar# 暴露容器的 7005端口,使得主机能够与容器的指定端口进行通信
# 通常用于 Web 服务或应用程序监听端口
# 可以根据应用需要更改为其他端口号EXPOSE 7005# 定义容器启动时的默认命令,使用 ENTRYPOINT 设置为 java -jar 来启动应用
# 这行命令会在容器启动时运行 Java 应用,加载指定的 JAR 文件
# 如果没有其他命令传入,ENTRYPOINT 将执行默认的 java -jar jar包名称ENTRYPOINT ["java", "-jar", "/app/gaterway-1.0-SNAPSHOT.jar"]
# 使用 OpenJDK 17 作为基础镜像,该镜像包含 JDK 17 环境
# 该镜像适用于需要编译或运行基于 JDK 17 的 Java 应用程序FROM openjdk:17# 设置容器中的工作目录为 /app
# 所有后续操作(如文件复制、命令执行等)都会基于该目录进行WORKDIR /app# 将本地的 JAR 文件 复制到容器的 /app 目录下
# COPY 命令将指定路径的文件从构建上下文复制到镜像中的目标路径COPY  sys-1.0-SNAPSHOT.jar  /app/sys-1.0-SNAPSHOT.jar# 设置环境变量 JAR_FILE,指向 JAR 文件的名称
# 环境变量可以在容器运行时被应用程序或其他脚本访问
# 这里设置环境变量方便在 Dockerfile 中或运行时引用 JAR 文件ENV JAR_FILE=sys-1.0-SNAPSHOT.jar# 暴露容器的 8003端口,使得主机能够与容器的指定端口进行通信
# 通常用于 Web 服务或应用程序监听端口
# 可以根据应用需要更改为其他端口号EXPOSE 8003# 定义容器启动时的默认命令,使用 ENTRYPOINT 设置为 java -jar 来启动应用
# 这行命令会在容器启动时运行 Java 应用,加载指定的 JAR 文件
# 如果没有其他命令传入,ENTRYPOINT 将执行默认的 java -jar jar包名称ENTRYPOINT ["java", "-jar", "/app/sys-1.0-SNAPSHOT.jar"]

在对应Dockerfile 目录下运行

docker build -t 镜像名称:标签 .

gateway举例

docker build -t gateway:1.1 .

在这里插入图片描述

运行完docker images 可以查看到新build 的镜像了

之后docker run 就可以运行程序了

docker run --name 容器名称 -p 宿主机端口:容器端口 -d 镜像名称:镜像标签

举例

docker run --name gateway -p 8201:8201 -d gateway:1.1

详细请看 连接

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词