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

本文指导如何将已打包的SpringBootJAR手动上传到服务器,并通过创建Dockerfile来构建和部署容器,详细解释了Dockerfile编写及构建、运行过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

将已经打好包的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:


# 使用官方 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 镜像:

docker build -t oaker .

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

docker run -d -p 8888:8080 --name oaker --restart always oaker

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

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

Docker Compose是一种配置文件格式,用于定义和管理一组相关的Docker容器服务,通常与Fluentd、Kubernetes等一起使用。如果你想通过Docker Compose部署Apache Flink并上传自定义的JAR,你可以按照以下步骤操作: 1. **创建`docker-compose.yml`文件**: 首先,你需要在项目的根目录下创建一个`docker-compose.yml`文件,定义Flink的镜像、网络和其他必要配置。例如,你可以设置一个Flink Worker服务,并指定使用本地JAR: ```yaml version: '3' services: flink: image: flink:latest volumes: - ./my-jar.jar:/opt/flink/lib/my-jar.jar command: ["start", "--configDir", "/path/to/config"] ``` 这里假设`my-jar.jar`是你的自定义JAR,路径需替换实际位置。 2. **打JAR**: 将你的Java应用代码编译成JAR,如果还没有做,可以使用`mvn package` (Maven) 或 `gradle jar` (Gradle)命令。 3. **启动集群**: 打开终端,在含`docker-compose.yml`的目录下运行: ``` docker-compose up -d ``` `-d` 参数表示后台启动,服务会作为守护进程运行。 4. **提交JAR到容器**: 如果需要在运行时添加新JAR,你可以使用`docker exec`命令,如: ```bash docker exec -it flink bash cp /path/to/new-jar.jar /opt/flink/lib/ ``` 然后退出容器,更改会立即生效。 5. **配置作业**: 要运行含有自定义JAR的任务,你需要在Flink配置中引用这个JAR,这通常在`conf/taskmanager-resources.yml`或`conf/local.properties`文件中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MonkeyKing.sun

对你有帮助的话,可以打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值