使用docker进行springboot项目的部署

环境说明 :
虚拟机VMware上安装 CentOs7 系统,且已经完成了Docker的安装
个人的springboot项目 需要使用到mysql,redis

首先我将删除目前虚拟机中存在的所有镜像以及容器。从零开始进行构建。

1.删除虚拟机中的所有容器

1.1 查看系统是否存在容器

docker ps -a

指令执行结果如下
可以看到我的虚拟机中目前是没有容器存在的

docker compose 部署 spring boot vue 工程 docker部署springboot项目集群_docker

1.2 删除容器

ps:如果容器正在运行中,是无法将容器进行删除的

docker rm container_id #删除容器, rm后方加上指定容器 id

2 .删除镜像

2.1 查看所有镜像

docker images

这里是我的运行结果

docker compose 部署 spring boot vue 工程 docker部署springboot项目集群_docker_02

2.2 删除镜像

docker rmi image_id   #删除镜像, rmi后方加上指定镜像id

docker compose 部署 spring boot vue 工程 docker部署springboot项目集群_mysql_03

现在开始,我的虚拟机就是一个没有docker 容器和镜像的初始状态了

3.拉取镜像

3.1拉取官方的mysql、redis镜像

我的 mysql 使用的是 5.7版本 JDK使用的是JDK8

拉取 Mysql镜像

docker pull mysql:5.7

docker compose 部署 spring boot vue 工程 docker部署springboot项目集群_java_04

镜像拉取完毕后,启动容器

docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7

此处 -d表示容器后台运行 password 我这里设置的是root

接下来,使用数据库连接工具测试(我这里使用的是 Navicat)

此处的 主机应该使用 虚拟机的ip

docker compose 部署 spring boot vue 工程 docker部署springboot项目集群_redis_05

连接成功后,可以将项目所需的 sql文件运行 导入到该库中

接着拉取redis镜像

docker pull redis:4.0.14

启动redis容器

docker run --name redis4 -p 6379:6379  -d redis:4.0.14 --requirepass "123456"

–name 将容器命名为 redis4
-p 将 redis 的 6379 端口映射为宿主机器的 6379 端口
-d 指定 redis:4.0.14 镜像
–requirepass 为 redis 设定认证密码 123456

最终执行结果如下

docker compose 部署 spring boot vue 工程 docker部署springboot项目集群_spring boot_06

容器启动成功后,我们可以通过命令进入对应容器进行操作

docker exec -it 容器id /bin/bash

docker compose 部署 spring boot vue 工程 docker部署springboot项目集群_java_07

如果需要退出容器可以使用快捷键

Ctrl+P+Q

4.将项目打包

项目打包之前,应该先将项目的配置文件进行修改 例如:应该将我们的数据库 连接的 IP进行修改

docker compose 部署 spring boot vue 工程 docker部署springboot项目集群_spring boot_08

修改完成后,先使用clean指令,然后使用 package指令

docker compose 部署 spring boot vue 工程 docker部署springboot项目集群_redis_09

此处标记的jar就是我们需要导入到我们的虚拟机中的

docker compose 部署 spring boot vue 工程 docker部署springboot项目集群_spring boot_10

在虚拟机中创建相应的文件夹来存放 jar包

mkdir /home/docker

将项目添加到指定的文件夹中

docker compose 部署 spring boot vue 工程 docker部署springboot项目集群_mysql_11

编写 Dockerfile文件

vim Dockerfile

以下内容编写完成后,按下 ESC键,按下 : 在输入wq 保存文件

docker compose 部署 spring boot vue 工程 docker部署springboot项目集群_redis_12

docker compose 部署 spring boot vue 工程 docker部署springboot项目集群_docker_13

在docker文件夹下,输入命令以下命令,将我们的项目构建成一个镜像

docker build -t blog:1.0 .

docker compose 部署 spring boot vue 工程 docker部署springboot项目集群_docker_14

这样我们的镜像就已经构建完成了
可以使用以下指令查看当前存在的镜像

docker images

镜像构建成功后,只需要将我们的镜像构建成一个容器即可

输入以下指令,将我们的镜像启动为一个容器

docker run --name reggie -d -p 8080:8080 reggie:1.0

-p 表示端口映射 两个端口号正好与我们的Doeckerfile中的声明 和项目端口号对应
-d 表示后台运行
–name 表示容器的名称

docker compose 部署 spring boot vue 工程 docker部署springboot项目集群_java_15

启动成功后,就可以利用ip地址和端口号,来访问我们的项目了

docker compose 部署 spring boot vue 工程 docker部署springboot项目集群_spring boot_16