Docker使用容器部署JavaWeb项目
2020-08-22 本文已影响0人
汤姆torn
因为最近学习了docker,就想把之前做的毕业设计使用docker容器的方式发布。所以记录一下过程。
环境是在centos7下配置的,所以还需要安装centos7的虚拟机,这是我写的虚拟机的配置文章https://www.jianshu.com/p/54b22254417c,有云服务器的小伙伴可以直接跳过。
首先进行docker安装

了解一下容器、镜像、仓库的关系。
- 容器就是一个一个镜像的实例。实际运行的东西。
- 镜像就是一个一个的只读模板,可以用来创建容器。
- 仓库就是存储镜像的地方。类似于maven那样的东西。
接下来启动docker

下载mysql5.6镜像和tomcat8.5.57镜像,因为docker使用的是联合文件系统,就是类似于千层饼那样的东西,最外层暴露的虽然是tomcat,但是运行tomcat还需要jdk,所以下载一个tomcat镜像就相当于下载好了tomcat运行所需要的环境。下载之前可以去配置一个阿里云容器加速。下载镜像时会比较快。




看看我们下载下来的镜像id是多少

创建tomcat容器

把war包复制进本机挂载webapps的文件夹内

重启一下服务器

tomcat配置就完了,接着是mysql

把sql文件复制给镜像,或者直接放在挂载好的文件夹中
进入mysql

创建数据库,运行sql


查看mysql8889容器的ip地址


可以看到,地址为172.17.0.3,修改项目中的db连接文件

最后打开防火墙的8888端口



重启tomcat8888容器,看看能不能进去

哎哟,乱码了,应该是数据库镜像的配置问题

果然是字符集没配置好。配置容器字符集


重启服务,并且查看是否更改好

再看一下项目,结果还是乱码,查询一下数据库,发现数据库插入的时候就是乱码了。

那就删除数据库,重新来一次。

好了,应该正常了

项目部署OK。

当然,还有更好的方法,通过centos镜像,往里面加上jdk,tomcat,mysql,通过dockerfile的方式把环境配置好,并打包成镜像。运行起来。那样就一下就完事儿了。继续学吧。