Docker搭建JavaWeb项目

我们这章将创建一个springboot项目,并引入redis,mysql。做一个用户登录的功能,登录成功后用户信息存入redis,并成功显示用户信息(redis数据)。

一、镜像下载

我们首先要下载镜像,这里为了提高可读性,我加入了MySQL和Redis来做一个登录显示用户信息功能(登录成功数据存入Redis,用户信息从Redis里取)

①下载TomCat

docker pull tomcat

②下载Redis

docker pull redis

③下载MySQL

docker pull mysql:5.6

这里指定了一下mysql的版本为5.6 默认下载最新

Docker搭建JavaWeb项目

这样我们的镜像就下载完了

二、小试牛刀

我们首先把mysql和redis的镜像启动起来

docker run --name docker_mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -d 1f47fade220d
docker run --name docker_redis -p 6379:6379 -d e1a73233e3be


首先第一个是启动的mysql容器,并指定了别名--name,映射了端口号-p,添加了一个root密码-e  -d是后台运行。最后的是镜像id

第二个是启动的redis同样指定了别名,映射了端口号 后台运行。

我们现在可以docker ps一下查看我们容器的运行情况。

Docker搭建JavaWeb项目

 

三、开始实践

我们创建一个springboot项目,并创建相应的实体类,连接数据库创建对于的表(在这里就不贴出了.ps:用工具远程连接数据库的时候要进mysql开启远程权限。)

简单贴出一点代码出来

Docker搭建JavaWeb项目

Docker搭建JavaWeb项目
application.properties配置文件

Docker搭建JavaWeb项目

这里有很重要的一点,host名称不是ip地址,也不是localhost而是一会儿即将要配置的tomcat要link的mysql和redis的别名

--link格式:

--link:alias

我们要把我们的项目打成war包并上传到我们的centos中。

mvn clean install 打包完成利用工具上传到centos中(我用的FileZilla)

Docker搭建JavaWeb项目

 

Docker搭建JavaWeb项目
我们将war包copy到我们的/usr/local/project目录中。

现在启动tomcat

docker run --name docker_tomcat -p 8081:8080 -d -v /usr/local/project/docker_springboot.war:/usr/local/tomcat/webapps/docker_springboot.war --link docker_redis:docker_redis --link docker_mysql:docker_mysql   41a54fe1f79d

其中--link docker_redis:docker_redis 
和--link docker_mysql:docker_myql 第一个docker_redis就是容器名称,第二个docker_redis是起的别名。和application.properties配置文件里是对应的。docker_mysql同理。

Docker搭建JavaWeb项目

四、验证成果

①我们先访问192.168.9.120:8081看看我们tomcat启动了没有

Docker搭建JavaWeb项目

ok。那我们先往数据库里添加条数据

Docker搭建JavaWeb项目

我们使用postman测试登录

先输入错误的密码

Docker搭建JavaWeb项目

再输入正确的密码

Docker搭建JavaWeb项目

查看Redis的数据是否存在

Docker搭建JavaWeb项目

ok教程到此结束。你学会了吗?

文章中demo地址:

GitHub:https://github.com/chuanzige/docker_springboot

码云:https://gitee.com/QingJiaoWoChuanZiGe/docker_springboot