Docker部署Java项目实践图文教程

 更新时间:2025年11月27日 09:08:44   作者:代码or搬砖  
通过使用Docker,可以实现Java应用程序的快速部署、环境隔离和扩展,下面这篇文章主要介绍了Docker部署Java项目的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下

一、centos7系统安装docker

利用docker的压缩包进行安装。

使用findshell工具连接上虚拟机,进入根目录,然后进入opt目录创建docker文件夹。

将docker压缩包放到docker文件夹中,并且进行解压缩。

unzip docker.zip

进入docker目录:

 cd docker/

给docker的安装命令添加执行权限:

chmod +x install-docker.sh 

执行命令安装docker:

sh ./install-docker.sh

出现下面的情况就说明docker安装成功:

二、docker安装mysql并且使用DataGrip连接

创建存放mysql文件的目录,并且把mysql.tar包上传。

并且使用该命令创建mysql镜像:

 docker load -i mysql.tar

使用命令,查看虚拟机中存在的镜像:

docker images

使用下面的命令创建容器:

docker run -d \
  --name mysql \
  -e MYSQL_ROOT_PASSWORD=123456 \
  -e MYSQL_ROOT_HOST=% \
  -p 23306:3306 \
  mysql:latest

上面的命令是将dockers中的容器映射到虚拟机中的一个端口(23306),并且登录密码是123456

出现下面的情况说明docker容器创建完成

使用DataGrip创建连接之后:

这样mysql也就安装完成了。

三、编写使用Dockerfile打包启动java程序

利用jdk.tar包下载安装jdk的镜像:

docker load -i jdk.tar

出现下面的情况就是安装完成:

出现了openjdk8的镜像:

创建test文件夹,并且把jar包放入当该文件夹中:

vi Dockerfile
FROM openjdk:8

WORKDIR /app

#ADD ./docker-test.jar /app/docker-test.jar
ENTRYPOINT ["java","-jar","docker-test.jar"]

1、说明jdk的镜像源

2、说明容器的工作空间

3、说明虚拟机的中位置与容器中的对应关系

4、docker的启动指令

需要在与Dockerfile同一层级下创建test的容器用来执行操作:

dokcer build -t test:1.0 .

出现下面的情况说明执行操作成功

四、使用docker-comopse.yml文件执行java程序

再执行这个操作之前要创建docker-compose.yml文件:

version: '3'
services: 
  test:
    image: "test:1.0.1"
    container_name: test
    restart: always
    ports: 
      - 18080:8080
    volumes:
      - ./data/:/app
    environment:
      - TZ=Asia/Shanghai
    networks:
      - test
networks:
  test:
    external: true

  • version: ‘3’ 是值得版本号
  • test指的是容器名称
  • restart:重启策略是否一直重启
  • ports:容器中的端口号与虚拟机中的端口好对应关系
  • volumes::容器中的工作空间与虚拟机中的工作空间对应关系
  • networks:网络安全组

接下来需要创建网络组:

docker network create test

利用docker-compose命令启动:

看到springboot项目已经启动:

五、shell语句自动部署

我们可以创建shell语句完成自动部署java程序,我们需要创建一个.sh文件,其中文件内容如下:

#!/bin/bash
echo “停用容器”
docker-compose down
echo “删除镜像”
docker rmi test:1.0.1
echo “构建镜像”
docker build -t test:1.0.1 .
echo “运行容器”
docker-compose up -d

通过上述得命令,可以自动重启容器,用来管理项目

使用下面的命令执行shell文件:

sh ./buiild.sh

总结 

到此这篇关于Docker部署Java项目的文章就介绍到这了,更多相关Docker部署Java项目内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java中字符串替换的四种方法举例总结

    Java中字符串替换的四种方法举例总结

    Java提供了多种方法来替换字符串,其中最常用的是使用replace()方法和正则表达式,下面这篇文章主要给大家介绍了关于Java中字符串替换的四种方法,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-08-08
  • 深入解析Spring中的立即加载和延迟加载

    深入解析Spring中的立即加载和延迟加载

    本文介绍了Spring框架中的立即加载和延迟加载策略,并解释了它们的适用场景和使用方法,根据具体的需求和应用场景,选择合适的加载策略,可以提高应用程序的性能和资源利用效率,感兴趣的朋友跟随小编一起看看吧
    2023-07-07
  • Java访问WebService返回XML数据的方法

    Java访问WebService返回XML数据的方法

    这篇文章主要介绍了Java访问WebService返回XML数据的方法,涉及java操作WebService的相关技巧,需要的朋友可以参考下
    2015-06-06
  • 学生信息管理系统java版

    学生信息管理系统java版

    这篇文章主要为大家详细介绍了java学生信息管理系统源代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-11-11
  • Java判断两个日期相差天数的方法

    Java判断两个日期相差天数的方法

    这篇文章主要介绍了Java判断两个日期相差天数的方法,以实例形式对比分析了java进行日期换算及对比的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-10-10
  • 利用java实现二叉搜索树

    利用java实现二叉搜索树

    这篇文章主要介绍了利用java实现二叉搜索树,文中有非常详细的代码示例,对正在学习java的小伙伴们有非常好的帮助,需要的朋友可以参考下
    2021-04-04
  • AndroidHttpClient使用Cookie应用分析

    AndroidHttpClient使用Cookie应用分析

    今天想把一个用使用了HttpClient的自动签到小程序移植到Android上,还好Android的SDK自带了HttpClient的包.当然也可以继续使用DefaultHttpClient,但用为Android定制的AndroidHttpClient自然更好
    2012-11-11
  • Springboot实现多服务器session共享

    Springboot实现多服务器session共享

    这篇文章主要为大家详细介绍了Springboot实现多服务器session共享,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-05-05
  • Java中正则表达式 .* 的含义讲解

    Java中正则表达式 .* 的含义讲解

    这篇文章主要介绍了Java中正则表达式 .* 的含义,通过举例说明了正则表达式*,+,?的区别,本文给大家讲解的非常详细,需要的朋友可以参考下
    2023-05-05
  • idea2023创建普通maven工程项目实现过程

    idea2023创建普通maven工程项目实现过程

    在IntelliJ IDEA中创建Maven项目,新项目通过File→New→Project选择Maven构建系统;已有项目则右键New→Module,新版本无需Maven Archetype,分享个人经验,供开发者参考,欢迎支持脚本之家
    2025-09-09

最新评论