因为需要更换新的服务器,原有的系统采用的是windows的服务器部署方式,购买了新服务器之后我就选择了docker来部署整套系统。
需要部署的服务有:
tomcat 8.0
mysql 5.7
nginx 1.17
redis
rabbitMQ
linux版本 8.0
遇到的问题:
1、关于docker容器内的时间与宿主主机的时间相差8小时
解决:首先根据百度的结果,我挂载了宿主主机的时间到我的容器:
-v /usr/share/zoneinfo/Asia/Shanghai:/etc/localtime
虽然此时容器内的时间对了,但是tomcat里面的时间还是不对,查找资料发现需要执行
echo 'Asia/Shanghai' > /etc/timezone
解决了此问题
2、nginx资源隐射的问题
在nginx.conf中配置了隐射本地目录的文件地址,但是一直404,最后发现需要挂载本地对应的目录到nginx中,解决此问题
-- 因为着急部署完成,所以有些问题没有深究
3、同样的项目,原来在tomcat直接运行并没有报错bean id相同的错误,但是在docker中的tomcat就报错
此问题待解决
4、原有的mapper xml文件用#{0 }, #{1 }对应参数是没有问题的,但是部署在docker中报错,问题待解决
5、mysql中区分了大小写,需要取消大小写区分
进入到docker中的mysql发现不能直接使用vi 与vim编辑命令,所以我先将
/etc/mysql/mysql.conf.d/mysqld.cnf
此文件使用docker cp命令复制到宿主主机,增加一点配置
lower_case_table_names=1
1表示大小写不敏感,0表示大小写敏感,需要添加到[mysqld]下面
再将文件复制到容器里面,重启服务,搞定!
6、容器内不能通过127.0.0.1访问到其他服务器,使用服务器ip却可以,此问题待解决
7、以前删除了某个dao文件,但是最近编译的时候发现了这个文件出现在了我的war里面,很奇怪