Docker安装java环境并部署jar包运行

本文介绍了如何在Docker中安装Java环境并部署jar包运行,包括创建Dockerfile,上传jar,构建镜像,启动容器,以及在更新jar时如何重新部署。适合前端开发者了解后端部署流程。

Docker安装java环境并部署jar包运行

作为一个前端,了解后端部署jar包也是有必要的,在这里就我学习的,做一个简单的笔记,这里可以结合我的商品的增删改查的java文章一起看。

java实现商品信息的录入,查找,修改,删除的接口(用Postman测试,连接数据库看表),最后打成jar运行



一、安装java:8

  1. 查找java:8
docker search java:8

2.拉取java:8

docker pull java:8

最后用命令查看如下

docker images

在这里插入图片描述
Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。。

二、部署的步骤

1.进入到你想要的目录下创建Dockerfile文件

vi Dockerfile

或者在Linux也可用

touch Dockerfile

2.编写Dockerfile文件

#依赖的父镜像
FROM java:8
#作者
MAINTAINER wgs
#jar包添加到镜像中
ADD product-0.0.1-SNAPSHOT.jar first.jar
#容器暴露的端口 即jar程序在容器中运行的端口
EXPOSE 8088
#容器启动之后要执行的命令
ENTRYPOINT ["java","-jar","first.jar"]

提示:(如果安装了winSCP ,可以用他编写更加方便直观)
在这里插入图片描述

3.用winSCP把打成的jar上传到当前的目录写

打包方法:
在这里插入图片描述
上传的包如下:
在这里插入图片描述

4.使用当前目录的 Dockerfile 创建镜像,标签为 wgs/product 重点注意后面的点

docker build -t wgs/product .

如下
在这里插入图片描述

5.运行镜像(到此基本完成)

(注意:前面的8088是访问端口 后面的8088的jar包中server.port=8088)

docker run -d --name myproduct -p 8088:8088  wgs/product

如下图
在这里插入图片描述

6.可以查看日志

可以用

docker ps

看看如下
在这里插入图片描述
可以查看日志

docker logs  myproduct

如下
在这里插入图片描述


三、修改jar,再次部署注意:

1.停止正在运行中的myproduct容器

docker stop myproduct 

如下:
在这里插入图片描述

2.删除已经停止运行中的myproduct容器

docker rm myproduct

如下:
在这里插入图片描述

3.上面的部署再来一遍(敲黑板,一定要到Dockerfile文件目录下去执行4和5,因为是根据当前目录下的Dockerfile文件去构建)

至此完成
用postman测试效果如下:
在这里插入图片描述

使用Docker Compose部署JDK运行Java JAR项目可按以下详细步骤进行: ### 1. 准备 Dockerfile 在项目根目录下创建一个 `Dockerfile`,用于定义如何构建含JDK和JARDocker镜像。以下是一个示例 `Dockerfile`: ```dockerfile # 使用jdk8 FROM openjdk:8-jre # 设置时区 上海 ENV TZ=Asia/Shanghai RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \ && echo "Asia/Shanghai" > /etc/timezone # 创建镜像里的工作目录 WORKDIR /mydata/app # 复制 JAR COPY goudan.jar /mydata/app/goudan.jar # 创建日志目录赋予权限(有需要加上) RUN mkdir -p /mydata/app/logs \ && chmod -R 777 /mydata/app/logs # Java 调优参数(示例配置,按需调整) ENV JAVA_OPTS="-Xmx512m -Xms256m -XX:+UseG1GC -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/mydata/app/logs" # 启动命令(含日志清理策略) CMD java $JAVA_OPTS -Dlogging.file.path=/mydata/app/logs -jar goudan.jar ``` 此 `Dockerfile` 以 `openjdk:8-jre` 为基础镜像,设置了时区,创建了工作目录和日志目录,复制了 JAR 定义了启动命令和Java调优参数 [^3]。 ### 2. 准备 docker-compose.yml 文件 在项目根目录下创建 `docker-compose.yml` 文件,用于定义和管理容器服务。示例内容如下: ```yaml version: '3' services: my-java-app: build: context: . dockerfile: Dockerfile ports: - "8080:8080" # 根据实际情况修改端口映射 environment: - JAVA_OPTS=-Xmx512m -Xms256m # 可根据需要调整 ``` 在这个 `docker-compose.yml` 文件中,定义了一个名为 `my-java-app` 的服务,指定了构建上下文为当前目录,使用之前创建的 `Dockerfile` 进行镜像构建。同时,设置了端口映射和环境变量 [^2]。 ### 3. 构建和启动容器 在项目根目录下打开终端,执行以下命令来构建镜像启动容器: ```bash docker-compose up -d ``` `-d` 参数表示在后台运行容器。执行此命令后,Docker Compose 会根据 `docker-compose.yml` 文件中的配置构建镜像,启动容器。 ### 4. 验证应用是否正常运行 可以通过以下方式验证应用是否正常运行: - 查看容器状态: ```bash docker-compose ps ``` - 查看容器日志: ```bash docker-compose logs -f my-java-app ``` 如果日志中没有报错信息,且应用输出了正常启动的信息,说明应用已成功部署运行
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值