Docker 部署 Java 项目实践

这里写目录标题

一、centos7系统安装docker

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

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

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

powershell 复制代码
unzip docker.zip

进入docker目录:

powershell 复制代码
 cd docker/

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

powershell 复制代码
chmod +x install-docker.sh 

执行命令安装docker:

powershell 复制代码
sh ./install-docker.sh

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

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

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

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

powershell 复制代码
 docker load -i mysql.tar

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

powershell 复制代码
docker images

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

powershell 复制代码
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的镜像:

powershell 复制代码
docker load -i jdk.tar

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

出现了openjdk8的镜像:

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

powershell 复制代码
vi Dockerfile
powershell 复制代码
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的容器用来执行操作:

powershell 复制代码
dokcer build -t test:1.0 .

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

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

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

powershell 复制代码
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:网络安全组

接下来需要创建网络组:

powershell 复制代码
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文件:

powershell 复制代码
sh ./buiild.sh
相关推荐
软件技术NINI27 分钟前
基于SpringBoot和Vue的新能源汽车销售推荐系统
java·vue.js·spring boot·后端·汽车·毕业设计·毕设
Flynn Liang1 小时前
LangChain4j 生产级工程骨架:12 个模块 + Docker 一键启动
java·spring boot·langchain·rag·langchain4j
我不会起名字3222 小时前
K8s Pod 反复重启 CrashLoopBackOff:从 exit code 到根因的 5 步排查
云原生·容器·kubernetes·k8s
瑞克-桑切斯2 小时前
ERP 企业生产管理系统部署手册
运维·docker·云原生·容器·eureka
噢,我明白了2 小时前
JAVA中的一些基础应用知识点
java·开发语言
SL_staff3 小时前
私有化低代码不是妥协,而是企业级数字化的自主可控主航道
java
装不满的克莱因瓶3 小时前
【SpringAI Alibaba】ReactAgent结构化输出OutputType与OutputSchema实战
java·人工智能·ai·springai·springaialibaba
瑞克-桑切斯3 小时前
docker mail商城
运维·docker·容器
秋天的怀念_David3 小时前
算法一千零一夜 · 第二十八夜 注册
java·程序人生·算法
Java码农也是农3 小时前
Spring 事务详解:@Transactional 如何生效、何时回滚、传播行为怎么选
java·spring boot·spring·事务