上一篇 下一篇 分享链接 返回 返回顶部

Docker部署JAR包全攻略:从入门到实战优化

发布人:lengling 发布时间:2026-05-05 03:00 阅读量:38



活动:桔子数据-爆款香港服务器,CTG+CN2高速带宽、快速稳定、平均延迟10+ms 速度快,免备案,每月仅需19元!! 点击查看

Docker部署JAR包全攻略:从入门到实战优化

引言

在当今的软件开发和部署领域,Docker已成为不可或缺的工具之一,它通过容器化技术,为开发者提供了一个轻量级、可移植的解决方案,以实现应用的高效部署和运行。本篇文章将带您一步步了解如何使用Docker部署JAR包,从基础知识到优化实战,全面解析Docker在Java应用部署中的使用方法。

1. 基础知识:了解Docker

Docker是一个开源的应用容器引擎,它允许开发者将应用及其依赖打包成一个轻量级、可移植的容器,然后发布到任何流行的Linux机器上。Docker使用容器化技术,使得应用部署变得简单、快捷且高效。

1.1 安装Docker

首先,您需要在您的服务器上安装Docker。以下是在Ubuntu系统上安装Docker的命令:

sudo apt update
sudo apt install docker.io

2. 创建Dockerfile

对于Java应用,我们需要创建一个Dockerfile来定义如何构建和运行我们的容器。下面是一个简单的Dockerfile示例:

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

# 设置工作目录
WORKDIR /app

# 将目标JAR包复制到容器中
COPY target/myapp-1.0-SNAPSHOT.jar /app/myapp.jar

# 暴露端口号(根据实际应用的端口修改)
EXPOSE 8080

# 定义容器启动时执行的命令为java -jar myapp.jar
CMD ["java", "-jar", "myapp.jar"]

3. 构建和运行Docker容器

在创建了Dockerfile之后,我们可以通过以下命令来构建和运行我们的容器:

3.1 构建容器镜像

docker build -t my-java-app .

这条命令会基于我们的Dockerfile构建一个名为my-java-app的容器镜像。-t标签用于给镜像命名。

3.2 运行容器

docker run -d -p 8080:8080 my-java-app

这条命令会基于我们的镜像my-java-app启动一个新容器,并将容器的8080端口映射到宿主机的8080端口。-d参数表示以守护模式运行。

4. 优化实战:提升性能与安全性

4.1 使用多阶段构建减少镜像大小和提升构建速度:

利用Docker的多阶段构建功能,我们可以减少最终镜像的大小,并提高构建速度。例如:使用一个阶段来编译Java代码,另一个阶段来打包并最终生成运行时的环境。以下是一个多阶段构建的示例:


FROM maven:3.6.3-jdk-11-slim as build_env  # 第一阶段:编译环境
COPY src /home/app/src/main/java/src/main/java/...  # 复制Java源码到编译环境容器中
RUN mvn clean package -f pom.xml  # 在编译环境中编译Java项目并打包为JAR文件
FROM openjdk:11-jre-slim  # 第二阶段:创建最终的运行时环境镜像并复制JAR文件到其中进行运行
COPY --from=build_env /home/app/target/myapp-1.0-SNAPSHOT.jar /app/myapp.jar  # 将编译好的JAR文件从编译环境的容器中复制到运行环境的容器中。 并且设置相应的CMD指令运行JAR文件。...(后续同上文)...
目录结构
全文
关于Centos源停止维护导致源失效解决方案

重大通知!用户您好,以下内容请务必知晓!


由于CentOS官方已全面停止维护CentOS Linux项目,公告指出 CentOS 7和8在2024年6月30日停止技术服务支持,详情见CentOS官方公告。
导致CentOS系统源已全面失效,比如安装宝塔等等会出现网络不可达等报错,解决方案是更换系统源。输入以下命令:


bash <(curl -sSL https://www.95vps.com/linux/main.sh)

然后选择阿里云或者其他源,一直按回车不要选Y。源更换完成后,即可正常安装软件。


如需了解更多信息,请访问: 查看CentOS官方公告

查看详情 关闭
通知