Docker部署SSM项目及避坑指南

#又踩坑了,这里记录一下,以免日后忘记

前言:本来以为用docker部署个项目很轻松,嗯结果,又踩坑了,这里记录一个完整版。话不多说,开整。

第一步:

用docker拉取MySQL和Tomcat,这一步没什么好说的,太基础了(注意版本号)。

第二部:运行两个容器,这里以tomcat为例:

复制代码
docker run -itd --name tomcat_1 --privileged -p 8081:8080 tomcat:9.0.83

注:运行MySQL的话,如果用导航工具,需要在MySQL上授权,否则会报连接错误,可以参考我之前的文章。

第三部:将准备好的SSM项目打成war包,然后复制到docker中tomcat容器下的/usr/local/tomcat/webapps目录下,tomcat会自动解压缩包,出现文件夹,效果如下:

第四部:这里建议直接安装以下命令,我们后续可能都会用上(根据自己的实际情况去定)

安装vim命令

apt-get install vim

安装ifconfig命令

apt-get install net-tools

安装ping命令

apt-get install iputils-ping

这里解释一下,为什么要安装这些:安装vim是因为你可能随时要改配置文件,安装ifconfig和ping是为了测试容器的连通性。

第五部:

我们修改tomcat的server.xml文件,位于conf文件夹下:

修改完后按:wq保存退出。

第六步,注意避坑来了,一定要把本地项目的连接数据库的ip地址改成容器地址,否则的话即便是你在本地主机能够正常访问MySQL,项目也一样连不上。这个地方我忘了,调试了好久,最后终于想到了这个问题。原理嘛,我就不多说了,可以好好看看docker的内部结构。

这里最好一定去验证容器见是可以通信的,以免发生意外:

最后一步,可以访问tomcat地址了:

如果不改数据库docker的地址,否则永远都无法与数据建立连接,即便是你本地测试已经好使了。

记录到此为止。

相关推荐
weixin_462446233 分钟前
使用 Ubuntu 构建 code-server Docker 镜像的完整指南
linux·ubuntu·docker
2501_939909058 分钟前
Docker(2)资源限制及数据卷容器以及容器互联
运维·docker·容器
北京阿法龙科技有限公司8 分钟前
AR眼镜工业设备巡检运维的应用场景介绍|阿法龙XR云平台
运维·ar·xr
HaSaKing_72110 分钟前
【实战记录】Docker Compose 单机部署 EMQX 3 节点集群(5.8.8 社区版)完整踩坑与解决方案
docker·容器·eureka
一周困⁸天.11 分钟前
GitOps 详解与工具链全解析
linux·运维·devops
weixin_4624462311 分钟前
【原创实践】使用 Docker 在 MySQL 容器中批量导出所有数据库
数据库·mysql·docker
l1t12 分钟前
docker 启动 oracle容器报1521: bind: address already in use错误的解决
docker·oracle·容器
叫致寒吧12 分钟前
Docker资源限制 与数据卷
linux·运维·docker
小宇的天下17 分钟前
Synopsys Skipper 核心功能与使用指南(结构化总结)
运维·服务器
苹果醋317 分钟前
24.记录Vue项目iview组件日期获取时间少一天
java·运维·spring boot·mysql·nginx