详细记一次Docker部署服务的爬坑历程

2020-06-17 06:58:59易采站长站整理


打开官网下载:http://www.rabbitmq.com/community-plugins.html
选择相应的对应的版本“3.7.x”点击下载。
~]# docker cp /home/docker/rabbitmq_delayed_message_exchange-20171201-3.7.x.ez rabbit:/plugins
//进入到docker内部
~]# docker exec -it rabbit /bin/bash
//开启插件
rabbitmq-plugins enable rabbitmq_delayed_message_exchange
//查看安装的所有插件
rabbitmq-plugins list

安装成功,如图:

docker rm 删除容器时,突然就删除不了了。docker ps -a发现该容器的状态是Dead(死亡),网上查阅了很多资料,什么强删、查看挂载状态、手动删除文件夹、查看端口占用情况。几乎都试过了,没有效果。

最后大概经验使然,鬼使神差的把nginx和httpd都关掉然后就可以删除了。 不要问我为什么同一台服务器同时装nginx和httpd,此项目原本是php项目,由他们部署的,我接手后自己使用的nginx。

还有一个很奇怪的问题,虽然解决了但后面我还是不太明白为什么会这样子。用户表里面有一个last_password_reset_date,用户登录时会校验这个时间字段,一直报token失效,一个个字段日志输入后,发着这个字段比数据库里面的时间相差10个小时,当时想过是时区问题。但是同一张表的另一个register_date字段时间是正常的,于是便没有处理时区。排查了很久,以为是java接受的时间类型不对,或是同事对这个字段进行了处理。一直没搞定。后面我把线上环境脸上测试库,发现又正常。最后查看了一下测试环境数据库的时区 ,是东八区。线上库是默认的GTM。最后把正式库的时间改成了东八区就好了。

还有一个就是Redis,因为之前有一个公众号服务,用到了redis,当时redis服务是在宿主机上面的。所以,想就连服务器宿主机上面算了,但是一开始连不上,后来把redis的配置文件改了一下,bind参数绑定内网ip就好了。然后程序里面使用内网ip连上redis。

您可能感兴趣的文章:docker搭建php+nginx+swoole+mysql+redis环境的方法Dockerfile指令与基本结构的讲解Docker 容器日志分析使用docker快速部署Elasticsearch集群的方法使用Docker部署MySQL 5.7&8.0主从集群的方法步骤使用dockercompose搭建springboot-mysql-nginx应用使用Docker部署Spring Boot的方法示例使用Docker部署Nginx+Flask+Mongo的应用docker中的环境变量使用与常见问题解决方案docker打包node项目的过程讲解