上传到服务的jar包怎么使用docker运行部署

将已经打好包的springboot的jar包手动上传到服务器,然后运维怎么构建容器并发布呢

要使用 Docker 部署一个已经上传的 Java JAR 包,你需要创建一个 Dockerfile,并在里面编写必要的指令来设置运行环境和启动你的应用。以下是一个基本步骤的概述,以及一个示例 Dockerfile。

基本步骤:

  1. 创建 Dockerfile :在你的项目根目录或一个合适的位置创建一个名为 Dockerfile 的文件。

  2. 编写 Dockerfile:在 Dockerfile 中指定基础镜像、复制 JAR 文件、设置启动命令等。

  3. 构建 Docker 镜像 :使用 docker build 命令来根据 Dockerfile 构建你的 Docker 镜像。

  4. 运行 Docker 容器 :使用 docker run 命令来运行你的镜像。

示例 Dockerfile:

Dockerfile 复制代码
# 使用官方 Java 运行环境作为基础镜像
FROM openjdk:8-jdk-alpine

# 设置工作目录(在容器内部)
WORKDIR /app

# 将 JAR 文件从构建上下文复制到容器内
COPY  oaker-admin-web.jar oaker-admin-web.jar

# 暴露应用的端口
EXPOSE 8080

# 设置容器启动时执行的命令
ENTRYPOINT ["java", "-jar", "/app/oaker-admin-web.jar"]

在这个 Dockerfile 中:

  • FROM openjdk:8-jdk-alpine 指定了基础镜像,这里使用的是轻量级的 Alpine Linux,带有 OpenJDK 8。
  • WORKDIR /app 设置容器内的工作目录。
  • COPY path/to/your/jarfile.jar app.jar 将你的 JAR 文件复制到容器的工作目录中。你需要将 path/to/your/jarfile.jar 替换为你的 JAR 文件的实际路径。
  • EXPOSE 8080 暴露了应用的端口,假设你的应用运行在 8080 端口。根据需要调整端口号。
  • ENTRYPOINT 指定了容器启动时要执行的命令,这里是运行 Java 应用。

构建和运行:

在包含 Dockerfile 的目录中,运行以下命令来构建 Docker 镜像:

bash 复制代码
docker build -t oaker .

这会构建一个名为 my-java-app 的镜像。然后,你可以使用以下命令来运行你的应用:

bash 复制代码
docker run -d -p 8888:8080 --name oaker --restart always oaker

这将启动一个 Docker 容器,并将容器的 8888 端口映射到宿主机的 8080 端口。

确保你在构建和运行 Docker 命令时拥有必要的权限,可能需要使用 sudo。还需确保你的 Docker 环境已经正确安装和配置。

相关推荐
程序员张31 小时前
Maven编译和打包插件
java·spring boot·maven
ybq195133454312 小时前
Redis-主从复制-分布式系统
java·数据库·redis
Johny_Zhao2 小时前
Docker + CentOS 部署 Zookeeper 集群 + Kubernetes Operator 自动化运维方案
linux·网络安全·docker·信息安全·zookeeper·kubernetes·云计算·系统运维
weixin_472339463 小时前
高效处理大体积Excel文件的Java技术方案解析
java·开发语言·excel
小毛驴8503 小时前
Linux 后台启动java jar 程序 nohup java -jar
java·linux·jar
zwjapple3 小时前
docker-compose一键部署全栈项目。springboot后端,react前端
前端·spring boot·docker
DKPT4 小时前
Java桥接模式实现方式与测试方法
java·笔记·学习·设计模式·桥接模式
好奇的菜鸟5 小时前
如何在IntelliJ IDEA中设置数据库连接全局共享
java·数据库·intellij-idea
代码老y5 小时前
Docker:容器化技术的基石与实践指南
运维·docker·容器
DuelCode6 小时前
Windows VMWare Centos Docker部署Springboot 应用实现文件上传返回文件http链接
java·spring boot·mysql·nginx·docker·centos·mybatis