首页 > 编程语言 >Docker部署Java项目

Docker部署Java项目

时间:2024-07-17 16:09:11浏览次数:13  
标签:容器 Java java 部署 jar 命令 test 镜像 Docker

部署项目

前言:

在自定义java服务镜像之前,最好本地用 java -jar 命令先执行下jar包,确保jar包没有问题

1. 创建Dockerfile镜像文件

#指定基础镜像,必须为第一个命令(尽量不要定义的偏差太大)
from openjdk:8-jdk-alpine
# 将本地文件添加到容器中 
add xxx.jar xxx.jar
# 后端项目的端口号
expose xxx
# 容器启动时运行的命令
entrypoint ["java", "-jar", "/xxx.jar"]

#例:
from openjdk:8-jdk-alpine
add test.jar test.jar
expose 8881
entrypoint ["java", "-jar", "/test.jar"]

命令说明:

在这个Dockerfile中,

  1. 指定了基础镜像为openjdk:8-jdk-alpine,这是一个包含Java 8环境的轻量级镜像。
  2. 将本地jar文件复制到容器内。
  3. 暴露了8881端口,以便容器可以与外界进行通信。
  4. 设置了容器启动时运行的命令为java -jar myapp.jar。

2. 构建镜像

注意:

​ 先在命令台用 cd 命令切换至 Dockerfile 文件目录

具体构建镜像命令如下

docker build -t my-java-test .

这个命令会在当前目录下查找Dockerfile文件,并根据其中的指令构建镜像。构建完成后,我们可以使用docker images命令查看所有本地镜像,其中应该包括我们刚刚构建的my-java-app镜像。

3. 启动容器

命令如下:

docker run -d \
--name my-java-test \
-p 8881:8881 \
my-java-test

标签:容器,Java,java,部署,jar,命令,test,镜像,Docker
From: https://www.cnblogs.com/seeCloud/p/18307643

相关文章

  • Java - 多线程
    ThreadLocalhttps://www.cnblogs.com/fsmly/p/11020641.html为了线程安全,每个线程改的都是自己本地的副本,从而不会影响其它线程。多线程访问同一个共享变量的时候容易出现并发问题,特别是多个线程对一个变量进行写入的时候,为了保证线程安全,一般使用者在访问共享变量的时候需要......
  • 计算机毕业设计必看必学75435企业OA系统的设计与实现原创定制程序,java、PHP、python
    SSM企业OA系统摘 要在现今这个信息社会的高速发展的影响下,人们的衣食住行逐渐信息化。当各种当今时代的产物进入我们的生活中,我们要从容面对。在网络硬件与软件的完美结合下,我们的生活、工作将会事倍功半,往往工作中繁琐的事情会花费大量的人力物力,在相关的管理软件的运作......
  • ES快速开发,ElasticsearchRestTemplate基本使用以及ELK快速部署
    最近博主有一些elasticsearch的工作,所以更新的慢了些,现在就教大家快速入门,并对一些基本的查询、更新需求做一下示例,废话不多说开始:1. ES快速上手es下载:[https://elasticsearch.cn/download/]()这里关于es所需要的链接基本都有,可以快速下载使用当你解压好了归档文件之后,Elas......
  • 基于JavaEE 的影视创作论坛的设计与实现
    点击下载源码基于Javaee的影视创作论坛的设计与实现摘要随着时代的发展,互联网的出现,给传统影视行业带来的最大便利就是,方便了影视从业人员以及爱好者的交流和互动,而为用户提供一个书写影评,阅读影评以及回复影评的平台,以影评为载体来使用户感受影评、解读影评的是互联网......
  • 参加歌手比赛,运用Java实现是否需要进入决赛(运用if-else多分支结构)
    importjava.util.Scanner;publicclassanli{publicstaticvoidmain(String[]args){//思路分析//1.创建Scanner对象,接收用户输入//2.接收成绩保存到doublescore//3.使用if-else判断,如果初赛成绩大于8.0进入决赛,否则提示淘汰//4.如果进入到决赛,再接收ch......
  • 运用Java语言实现保国同志信用分的情况(使用if-else多分支语句)
    importjava.util.Scanner;publicclassnali{publicstaticvoidmain(String[]args){/*输入保国同志的芝麻信用分:如果:信誉分为100分时,输入信用极好;信誉分为(80,99】时,输入信用优秀;信誉分为【60,80】时,输入信用一般;其他情况,输入信用不及格......
  • Java多线程:wait/notify机制-实现生产者消费者(4)
    ......
  • 【Java21】final修饰符
    final可以用来修饰类、变量和方法。类似C++里的const,表示被修饰的类、变量和方法不可改变。具体表现为:对变量,一旦初始化之后就不可改变。final即可修饰成员变量(类变量|实例变量),也可修饰局部变量、形参。final修饰的变量并不是不能赋值,而是不能被重新赋值。一旦获得初始值......
  • 基于Java+SpringBoot+Vue的学生评奖评优管理系统的设计与开发(源码+lw+部署文档+讲解
    文章目录前言项目背景介绍技术栈后端框架SpringBoot前端框架Vue数据库MySQL(MyStructuredQueryLanguage)具体实现截图详细视频演示系统测试系统测试目的系统功能测试系统测试结论代码参考数据库参考源码获取前言......
  • 在 Kubernetes 上部署 llama3
    转自:https://zhuanlan.zhihu.com/p/695534674Ollama与OpenWebUI介绍Ollama 是一个运行大模型的工具,可以看成是大模型领域的Docker,可以下载所需的大模型并暴露API。OpenWebUI 是一个大模型的WebUI交互工具,支持Ollama,即调用Ollama暴露的API实现与大模型交互:部署......