接上一篇继续通过docker来正式部署一个springboot后端项目
1.查看Docker 是否安装成功并确认服务是否已经启动
docker version

如果未安装,自行百度安装
systemctl status docker
查看docker 运行状态,已启动

如果检查未启动执行一下
sudo systemctl start docker
2.安装git
只有输入命令git,如果没有会提示你下载,我已经下载好了

3.安装mysql
拉取 MySQL 镜像
docker pull mysql:latest

使用以下命令来查看是否已安装了 mysql
docker images

这是已经安装的状态
安装完成后,我们可以使用以下命令来运行 mysql 容器
docker run -itd --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql

参数说明:
-p 3306:3306 :映射容器服务的 3306 端口到宿主机的 3306 端口,外部主机可以直接通过 宿主机ip:3306 访问到 MySQL 的服务。
MYSQL_ROOT_PASSWORD=123456:设置 MySQL 服务 root 用户的密码。
安装成功
通过 docker ps 命令查看是否安装成功

至此,使用docker 安装mysql 的工作就已经完成了。
4.Docker 中mysql 简单交互,导入mysql文件
导入mysql数据库中的sql文件

把sql文件上传到Linux目录

我是放在了/tmp里面
然后把文件复制到docker容器,因为我们的mysql是安装在docker容器中
sudo docker cp /tmp/rbac.sql mysql-test:/tmp/
登入容器内MYSQL执行sql文件
docker exec -it bteye-mysql mysql -uroot -p123456

先创建数据库
create database rbac
查看数据库
show databases

需要先指定数据库,不然会报错

use rbac

查看mysql容器
docker images

至此,mysql环境就部署好了
5.Dockerfile文件
在项目根目录中新建Dockerfile文件

Dockerfile中的内容
FROM openjdk:8-jdk-alpine #基于哪个jdk
ARG JAR_FILE=target/*.jar # jar包位置
ADD biz-rbac-service-0.0.1-SNAPSHOT.jar /biz-rbac-service.jar
ENTRYPOINT ["java","-jar","/biz-rbac-service.jar"]
ENV TIMEZONE Asia/Shanghai
6.项目打包

我是直接把项目放在服务器目录中,也可以直接自己部署,我的Dockerfile一直不生效,所以我也放在了项目部署路径下
var->www->myapp自己创建的文件夹

到对应目录下,执行命令
docker build -t biz-rbac-service:0.0.1 .
再通过 docker images 可以发现,镜像已经存在

7.再次编写 docker-compose.yml
在之前的 docker-compose.yml加上:
biz-rbac-service:
image: biz-rbac-service:0.0.1
ports:
- 8002:8002
restart: always
iamge:连接的对应的镜像名字,必须和你生成的镜像一模一样,版本号也一定要加上(默认latest,因为之前我们加了0.0.1,没有latest)
ports: 就是暴漏端口映射。保持一致,不易混淆
重新更新docker-compose.yml文件,然后重新执行命令
docker-compose up -d
成功后docker ps查看

访问主机id+8002就能看见我们部署的项目了

上传git重新构建也不会报错了

至此,后端项目就部署好了,然后通过git上传代码,通过github的Webhooks回调,drone就能自动触发,部署项目