如何使用Docker构建一个RabbitMQ集群?

摘要:刚开始,关于 的搭建,我找到了这篇文章: "Docker 安装 RabbitMQ 集群" 从而找到了第三方的 容器 "rabbitmq server&am
刚开始,关于RabbitMQ集群的搭建,我找到了这篇文章:Docker 安装 RabbitMQ 集群 从而找到了第三方的RabbitMQ集群容器 rabbitmq-server 但是这个容器只有3.6.10版本,连3.6.14版本都没有,看样子已经很久没更新推送了。 而RabbitMQ刚发布3.7.0版本,但还没来得及在Docker Hub推送3.7.0版本的容器。 于是萌生自己构建一个基于3.7.0版本的Docker容器的想法。 Fork了bijukunjummen/docker-rabbitmq-cluster的库到自己的Github库. Clone自己的VAllens/docker-rabbitmq-cluster库到本地。 看了一边原作者写的代码后,直接用Notepad++批量替换3.6.10为3.7.0,然后把原作者信息改成自己的。 再把RabbitMQ安装包的下载地址更新为RabbitMQ 3.7.0 以下是我更改代码后的差异截图 第一次构建(国内本地开发机):### 在自己本地的Docker环境上执行build-images.sh开始构建,各种报错。 错误之一:找不到https://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-9.noarch.rpm。 在代码里找到https://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-9.noarch.rpm改成https://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-7-11.noarch.rpm。 第二次构建(国内本地开发机):### 又是各种报错。 错误之二:提示/var/xxxxxx/cache/xxxxxxxxx.rpm找不到。 搜索后增加缓存清除和重建命令后解决 RUN yum clean all && yum clean metadata && yum clean dbcache && yum makecache && yum -y update RUN rpm --rebuilddb 第三次构建(国内本地开发机):### 还是各种报错。 错误之三:http://xxxxxxxxx/centos/7/updates/x86_64/repodata/dd6db8b290ec639a13dceebf2754de1d31392e18acad98e32e4ef5ad3a7e41da-primary.sqlite.bz2: [Errno 14] HTTP Error 404 。 这种问题,刚开始我以为和错误之二差不多,但折腾来折腾去总是搞不定。 感觉无解,因为搜索不到任何解决方案,后来用香港的服务器就没有出现过这样的错误了。 搜索到一个同样错误的CentOS 7 で「XXXXXX-primary.sqlite.bz2: [Errno 14] HTTP Error 404 - Not Found」エラー発生,他却通过缓存清除和更新解决问题了 第四次构建(香港服务器):### 错误之四:rabbitmq-server依赖erlang 19.3以上版本,而erlang环境是R16B03版本。 在RabbitMQ查文档发现,RabbitMQ 3.6.14以下版本使用erlang R16B03版本,从RabbitMQ 3.6.15开始使用erlang 19.3以上版本。
阅读全文