使用Docker将Java项目打包并部署到CentOS服务器的详细教程。
创始人
2024-09-25 20:23:44
0

当然,让我们将上述步骤进一步细化,以便更好地理解整个过程。

前提条件

  • 一个Java项目
  • CentOS服务器,并且已安装Docker
  • Java项目可以正常在本地运行
  • 具有服务器访问权限
    ————————————————————————————————————————————

步骤 1: 准备Java项目

确保你的Java项目能够在本地环境中正常运行。这里我们假设你的项目是一个简单的Spring Boot应用,结构如下:

my-java-app/ |-- src/ |   |-- main/ |       |-- java/ |           |-- com/ |               |-- example/ |                   |-- App.java |-- pom.xml 

pom.xml 文件中,确保你有以下插件来构建可执行的jar包:

                           org.springframework.boot             spring-boot-maven-plugin                

步骤 2: 编写Dockerfile

在你的项目根目录下创建一个名为 Dockerfile 的文件,内容如下:

# 指定基础镜像,这里使用OpenJDK 8 FROM openjdk:8-jdk-alpine # 维护者信息 LABEL maintainer="yourname@example.com" # 设置工作目录 WORKDIR /app # 将当前目录下的pom.xml和src文件夹复制到工作目录下 COPY . /app # 打包应用(这一步会构建项目) RUN mvn clean package -DskipTests # 删除不需要的源码文件,减少镜像大小 RUN rm -rf src pom.xml target/test-classes # 暴露端口 EXPOSE 8080 # 运行jar包 CMD ["java", "-jar", "target/my-java-app-1.0-SNAPSHOT.jar"] 

确保替换 my-java-app-1.0-SNAPSHOT.jar 为你的实际jar包名称。

步骤 3: 构建Java项目

在项目根目录下,使用Maven构建项目:

mvn clean package 

构建完成后,会在 target 目录下生成可执行的jar包。

步骤 4: 将项目上传到服务器

将你的项目(包括 Dockerfilepom.xmlsrc 目录等)上传到CentOS服务器的某个目录下。

步骤 5: 构建Docker镜像

在服务器上,导航到项目目录,并执行以下命令构建Docker镜像:

docker build -t my-java-app . 

这个命令会读取 Dockerfile 并构建一个名为 my-java-app 的镜像。

步骤 6: 运行Docker容器

使用以下命令运行容器:

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

这里:

  • -d 表示在后台运行容器。
  • -p 8080:8080 表示将容器的8080端口映射到宿主机的8080端口。
  • --name my-java-app-container 为容器指定了一个名字。

步骤 7: 访问Java应用

现在,你的Java应用应该在Docker容器中运行了。你可以通过以下URL来测试应用:

http://<服务器IP地址>:8080 

步骤 8: 管理容器

以下是一些管理容器的基本命令:

  • 查看所有容器(包括停止的):
    docker ps -a 
  • 查看运行中的容器
    docker ps 
  • 停止容器
    docker stop my-java-app-container 
  • 启动容器
    docker start my-java-app-container 
  • 重启容器
    docker restart my-java-app-container 
  • 删除容器
    docker rm my-java-app-container 
  • 查看容器日志
    docker logs my-java-app-container 

步骤 9: 使用Docker Compose(可选)

如果你的应用需要多个服务,例如数据库或其他依赖服务,可以使用Docker Compose。创建一个 docker-compose.yml 文件:

version: '3' services:   my-java-app:     build: .     ports:       - "8080:8080" 

然后,使用以下命令启动服务:

docker-compose up -d 

这样,Docker Compose会读取 docker-compose.yml 文件,构建镜像并启动容器。

总结

通过以上步骤,你已经学会了如何将Java项目打包成Docker镜像,并在CentOS服务器上运行。这只是一个开始,Docker还有很多高级功能等待你去探索,如数据持久化、网络配置、服务发现等。

相关内容

热门资讯

一分钟了解!九九联盟辅助在,多... 一分钟了解!九九联盟辅助在,多乐辅助app,详细教程(有挂工具);人气非常高,ai更新快且高清可以动...
教学盘点“情怀国粹麻将神器”解... 您好,情怀国粹麻将神器这款游戏可以开挂的,确实是有挂的,需要了解加微【485275054】很多玩家在...
一分钟揭秘!星悦软件辅助,微乐... 一分钟揭秘!星悦软件辅助,微乐山西脚本插件,新版2025教程(有挂方略);1、这是跨平台的微乐山西脚...
分享开挂内幕“海豹大厅超级三加... 分享开挂内幕“海豹大厅超级三加一辅助”讲解开挂作弊辅助插件(原来存在有挂);1、完成海豹大厅超级三加...
我来分享!手机辅助脚本工具,瓜... 我来分享!手机辅助脚本工具,瓜瓜丰城双剑旧版攻略,扑克教程(的确有挂);1.瓜瓜丰城双剑旧版攻略 a...
玩家攻略推荐“哈局八张挂辅助”... 玩家攻略推荐“哈局八张挂辅助”普及开挂作弊辅助神器(往昔真的是有挂);哈局八张挂辅助简单的灵活控制,...
分享认知!宝宝游戏浙江辅助器,... 分享认知!宝宝游戏浙江辅助器,微乐广西麻辣辅助器,新版2025教程(讲解有挂);1、不需要AI权限,...
程序员教你“欢乐达人葫芦鱼辅助... 程序员教你“欢乐达人葫芦鱼辅助”解谜开挂作弊辅助器(原先真的有挂)相信很多朋友都在电脑上玩过欢乐达人...
揭秘攻略!欢乐达人透视脚本,网... 揭秘攻略!欢乐达人透视脚本,网易游戏辅助工具,细节揭秘(有挂攻略);1、【欢乐达人透视脚本辅助软件】...
玩家必看分享“途游辅助官网”讲... 玩家必看分享“途游辅助官网”讲解开挂作弊辅助助手(竟然有挂);1、AI玩家辅助神器收集数据:讲大量的...