当前位置: 首页 > news >正文

Docker 部署 Java 项目实践

这里写目录标题

  • 一、centos7系统安装docker
  • 二、docker安装mysql并且使用DataGrip连接
  • 三、编写使用Dockerfile打包启动java程序
  • 四、使用docker-comopse.yml文件执行java程序
  • 五、shell语句自动部署

一、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:8WORKDIR /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: testrestart: alwaysports: - 18080:8080volumes:- ./data/:/appenvironment:- TZ=Asia/Shanghainetworks:- 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

在这里插入图片描述

http://www.dtcms.com/a/585749.html

相关文章:

  • Git push/pull 避坑指南:什么时候加 origin?什么时候不用加?
  • Ubuntu22.04系统中各文件目录的作用
  • 49_AI智能体核心业务之使用Flask蓝图模块化AI智能体服务:构建可维护的RESTful API
  • 网站建设教程数据库网站开发兼职成都
  • 网站 空间 下载行情网免费网站大全
  • 深度学习实战(基于pytroch)系列(五)线性回归的pytorch实现
  • 玩转Rust高级应用. ToOwned trait 提供的是一种更“泛化”的Clone 的功能,Clone一般是从T类型变量创造一个新的T类型变量
  • 11.8 脚本网页 推箱子
  • 网站建设要钱么深圳一百讯网站建设
  • [Java算法] 双指针(1)
  • 江苏省建设厅网站官网湖南做网站最厉害的公司
  • 杭州家具网站建设方案郑州app开发价格
  • gdb调试命令和GDB 到 LLDB 命令映射
  • 【CUDA笔记】02 CUDA GPU 架构与一般的程序优化思路(上)
  • 198种组合算法+优化XGBoost+SHAP分析+新数据预测!机器学习可解释分析,强烈安利,粉丝必备!
  • 东莞做网站要多少钱安顺建设局网站官网
  • 在线做h5 的网站网站服务器怎么查询
  • Vue 项目实战《尚医通》,展示已有医院的数据并分页展示,笔记11
  • Modbus RTU 转 Modbus TCP:借助数据采集提升三菱PLC冷库温度反馈实时性案例
  • DeepSeek-OCR实战(01):基础运行环境搭建-Ubuntu
  • SQLite 索引:优化数据库查询的关键
  • 可拖拽网站三星官网商城
  • MySQL 8.x 的 my.ini配置设置
  • 周志华《机器学习导论》第 15 章 规则学习(符号主义学习)
  • 使用pycharm自带debug模式运行flask时报错
  • 福州做网站需要多少钱懒设计app
  • Dify 安全架构设计
  • 网站推广国外网站建设素材库
  • Rust 练习册 :Pythagorean Triplet与数学算法
  • 构建一个短链接生成器服务(FastAPI + SQLite)