使用docker进行springboot项目的部署
环境说明 :
虚拟机VMware上安装 CentOs7 系统,且已经完成了Docker的安装
个人的springboot项目 需要使用到mysql,redis
首先我将删除目前虚拟机中存在的所有镜像以及容器。从零开始进行构建。
1.删除虚拟机中的所有容器
1.1 查看系统是否存在容器
docker ps -a
指令执行结果如下
可以看到我的虚拟机中目前是没有容器存在的
1.2 删除容器
ps:如果容器正在运行中,是无法将容器进行删除的
docker rm container_id #删除容器, rm后方加上指定容器 id
2 .删除镜像
2.1 查看所有镜像
docker images
这里是我的运行结果
2.2 删除镜像
docker rmi image_id #删除镜像, rmi后方加上指定镜像id
现在开始,我的虚拟机就是一个没有docker 容器和镜像的初始状态了
3.拉取镜像
3.1拉取官方的mysql、redis镜像
我的 mysql 使用的是 5.7版本 JDK使用的是JDK8
拉取 Mysql镜像
docker pull mysql:5.7
镜像拉取完毕后,启动容器
docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7
此处 -d表示容器后台运行 password 我这里设置的是root
接下来,使用数据库连接工具测试(我这里使用的是 Navicat)
此处的 主机应该使用 虚拟机的ip
连接成功后,可以将项目所需的 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 exec -it 容器id /bin/bash
如果需要退出容器可以使用快捷键
Ctrl+P+Q
4.将项目打包
项目打包之前,应该先将项目的配置文件进行修改 例如:应该将我们的数据库 连接的 IP进行修改
修改完成后,先使用clean指令,然后使用 package指令
此处标记的jar就是我们需要导入到我们的虚拟机中的
在虚拟机中创建相应的文件夹来存放 jar包
mkdir /home/docker
将项目添加到指定的文件夹中
编写 Dockerfile文件
vim Dockerfile
以下内容编写完成后,按下 ESC键,按下 : 在输入wq 保存文件
在docker文件夹下,输入命令以下命令,将我们的项目构建成一个镜像
docker build -t blog:1.0 .
这样我们的镜像就已经构建完成了
可以使用以下指令查看当前存在的镜像
docker images
镜像构建成功后,只需要将我们的镜像构建成一个容器即可
输入以下指令,将我们的镜像启动为一个容器
docker run --name reggie -d -p 8080:8080 reggie:1.0
-p 表示端口映射 两个端口号正好与我们的Doeckerfile中的声明 和项目端口号对应
-d 表示后台运行
–name 表示容器的名称
启动成功后,就可以利用ip地址和端口号,来访问我们的项目了