首页 > 其他分享 >上传到服务的jar包怎么使用docker运行部署

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

时间:2023-12-11 10:32:45浏览次数:27  
标签:容器 jar oaker 传到 镜像 docker Dockerfile 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:

# 使用官方 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 环境已经正确安装和配置。


标签:容器,jar,oaker,传到,镜像,docker,Dockerfile,Docker
From: https://blog.51cto.com/u_13171517/8768500

相关文章

  • Docker下的资源限制问题
    Docker下的资源限制问题问题背景公司某产品出现了一个奇怪的OOM错误提示.问题现象是前台产品提示OOMcannotcreatenativethread但是同时查看机器的资源和容器cadviser的资源,资源限制都很少.内存远远没有到达瓶颈,并且看gclog也没有看到很多GC信息所以怀疑......
  • 通过 docker-compose 快速部署 EFAK 保姆级教程
    目录一、概述二、开始编排部署EFAK1)部署docker2)部署docker-compose3)创建自定义docker网络4)创建MySQL挂载目录5)编排docker-compose.yaml部署一、概述EFAK(EagleForApacheKafka,以前称为KafkaEagle)是一款由国内公司开源的Kafka集群监控系统,可以用来监视kafka集群的broke......
  • java中C3P0、Druid、HikariCP 、DBCP连接池的jar包下载与IDEA配置
    ##一、什么是连接池连接池是应用程序与数据库之间的一个缓冲区,它存储了一定数量的空闲数据库连接,当应用程序需要连接数据库时,可以从连接池中获取一个可用连接,使用完毕后再将连接归还给连接池,从而避免了每次连接都需要创建和销毁连接的开销,提高了应用程序的性能和可伸缩性。连接池......
  • Dockerfile - CMD
    CMDThe CMD instructionhasthreeforms:CMD["executable","param1","param2"] (exec form,thisisthepreferredform)CMD["param1","param2"] (as defaultparameterstoENTRYPOINT)CMDcommandparam1param......
  • dockerfile基本命令+镜像制作
    DockerFile03DockerFile1.DockerFile的概念用来构建docker​镜像的构建文件,由一系列参数和命令构成的脚本大体总览:​​‍1.构建过程要遵循的规则:​​2.执行流程‍Docker​执行一个Dockerfile​脚本的流程大致如下​Docker​从基础镜像运行一个容器执行一条......
  • druid密码加密1.2.18.jar
    Druid连接池最初就是为监控系统采集jdbc运行信息而生的,它内置了StatFilter 功能,能采集非常完备的连接池执行信息Druid连接池内置了能和Spring/Servlet关联监控的实现,使得监控Web应用特别方便Druid连接池内置了一个监控页面,提供了非常完备的监控信息,可以快速诊断系统的瓶颈。生产环......
  • 云计算中的容器化搭档Docker和K8S
    目录Docker容器Docker架构Kubernetes(k8s)容器技术演变传统部署时代:虚拟化部署时代:容器部署时代:为什么需要Kubernetes,它能做什么?DockervsK8s容器引擎vs.容器编排器:支持的镜像类型:镜像定义方式:DockerSwarmvsK8sK8s弃用Docker?Dockerdocker是一种开源的应用容器引擎,可以将应......
  • centos 运维 jar 包脚本
    新建sh文件#!/bin/bash#DefinevariablesJAR_FILE="your-application.jar"JAVA_OPTS="-Xmx512m-Xms256m"PID_FILE="pid.txt"#Functiontocheckiftheapplicationisrunningis_running(){[-f"$PID_FILE"]&......
  • Go-web应用部署的方式——(1)Docker
    摘要:本系列文章记录了几种Go-web应用的部署方式,记录并解释所有相关的命令。参考:如何使用Docker部署GoWeb应用|李文周的博客(liwenzhou.com)1.编写Dockerfile文件#使用基础镜像FROMgolang:alpine#设置环境变量ENVGO111MODULE=on\GOPROXY=https://goproxy.cn,......
  • 基于Docker容器搭建hadoop完全分布式集群环境
    简介物理机:windows10宿主机:Centos7虚拟机,需要安装Docker服务hadoop集群节点:3个centos7的容器,hadoop1、hadoop2、hadoop3组件:容器镜像:Centos7DockerCE24.0.7JDK1.8.0_181Hadoop3.1.31.新建虚拟机安装CentOS72.安装Docker2.1安装docker服务yum-yinstalldocke......