使用docker安装mysql,结合spring boot搭建项目,进行持续构建

最近刚开始学docker和jenkins,发现结合起来还是蛮好用的。写篇文章记录一下过程。
结合dockers,jenkins,spring-boot各自的优势,结合一下,做一个简单的持续集成和部署。

安装docker

这个简单,centos7,直接使用命令:

yum install -y docker

安装mysql

建几个文件夹,用来挂在mysql容器的几个重要的文件夹,备用:

mkdir -p /home/mysql/data /home/mysql/logs /home/mysql/conf

然后docker安装mysql,直接上命令:

docker search mysql
docker pull mysql:5.7
docker run --privileged=true --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -v /home/mysql/conf:/etc/mysql -v /home/mysql/logs:/var/log -v /home/mysql/data:/var/lib/mysql -d docker.io/mysql:5.7

使用如下命令检查mysql是否安装好。

docker ps -a

mysql容器,一定要是up状态
一定要是up状态

进入mysql容器,设置mysql的root用户名密码

docker exec -it mysql bash

进入容器,然后命令行进入mysql服务器:

mysql -u root -p

输入容器启动时给定的密码(即前面docker run时MYSQL_ROOT_PASSWORD的变量)

最后设置root的密码(密码可以设置成其他的):

ALTER USER 'root' IDENTIFIED WITH mysql_native_password BY '123456';

依次退出mysql客户端,mysql容器控制台。敲两次exit即可。

来张过程图:
使用docker安装mysql,结合spring boot搭建项目,进行持续构建_第1张图片

用本地客户端连接mysql服务器。我这里用navicat:
使用docker安装mysql,结合spring boot搭建项目,进行持续构建_第2张图片
使用docker的好处是,一台服务器可以部署好多应用。并且想停就docker stop。想启动就docker start。
如下:
使用docker安装mysql,结合spring boot搭建项目,进行持续构建_第3张图片
至此,docker容器安装mysql5.7完毕。

部署Spring-boot项目

database-tool是我自己开发的一个工具。项目基于springboot+maven。
工具的功能是:根据一个jdbc连接,可以导出这个某个数据库的模型,导出为excel文档。目前仅支持mysql数据库。
对了,我这个项目没用到数据库,所以项目中不用配置jdbc连接。主要是这个工具是针对mysql数据库的工具而已。

其他不解释了,直接上代码:
https://gitee.com/cspkwww/database-tool

这里使用docker容器方式部署。(这里没用到docker-registry,证书太麻烦,自己玩的话,不需要)
项目中写好Dockerfile,如下图:
使用docker安装mysql,结合spring boot搭建项目,进行持续构建_第4张图片
安装jenkins(安装jenkins简单,这里我就不重复了。我用的是war包,因为docker版本的jenkins版本有点低)
顺带着安装maven,git,jdk等等杂七杂八的东西。。。。
使用docker安装mysql,结合spring boot搭建项目,进行持续构建_第5张图片
jenkins部署项目,主要几个地方贴出来:

第一步:git拉代码:
使用docker安装mysql,结合spring boot搭建项目,进行持续构建_第6张图片
第二部:maven执行命令(直接用jenkins的maven插件,怎么简单怎么来)
使用docker安装mysql,结合spring boot搭建项目,进行持续构建_第7张图片
第三步:docker打包成镜像(用到之前的Dockerfile,手敲命令,还能定义变量)
使用docker安装mysql,结合spring boot搭建项目,进行持续构建_第8张图片
这里要注意的时候,第一次部署的时候,因为没有镜像,因此要把 docker rm,docker rmi这些命令屏蔽,直接命令前加#好就行。如图:
使用docker安装mysql,结合spring boot搭建项目,进行持续构建_第9张图片

第四步:save
使用docker安装mysql,结合spring boot搭建项目,进行持续构建_第10张图片
第五步:部署
使用docker安装mysql,结合spring boot搭建项目,进行持续构建_第11张图片
看到SUCCESS就好了。
最后看结果:
http://10.250.100.35:8880/doc.html
使用docker安装mysql,结合spring boot搭建项目,进行持续构建_第12张图片
看新建好的mysql数据库,已经内置了几个数据库:
在这里插入图片描述
试试用我的工具导出mysql这个数据库的模型:
这里安利一下,用的是某大神的swagger的ui,非常好用,github地址:
https://github.com/xiaoymin/Swagger-Bootstrap-UI

好了,好了,回到主线:
先把入参都写好:

使用docker安装mysql,结合spring boot搭建项目,进行持续构建_第13张图片
额。。。发现没有导出文件按钮。。。尴尬。。。。。

没事,用spring的swagger-ui。
浏览器网址改成(项目中两个ui都能用):
http://10.250.100.35:8880/swagger-ui.html
使用docker安装mysql,结合spring boot搭建项目,进行持续构建_第14张图片
使用docker安装mysql,结合spring boot搭建项目,进行持续构建_第15张图片
使用docker安装mysql,结合spring boot搭建项目,进行持续构建_第16张图片
这个ui功能比较好,点击“Download file”下载导出文件。
最后文件内容如下:
使用docker安装mysql,结合spring boot搭建项目,进行持续构建_第17张图片
第一次体验docker和jenkins,还是不错的。写篇文章记录下

你可能感兴趣的:(docker)