由docker组成的RabbitMQ集群在不同的主机和不同的项目上组成
我有3个项目,部署在不同的主机上。 每个项目都有自己的RabbitMQ容器。 但是我需要用这3个主机创build集群,使用相同的虚拟主机,但不同的用户/login对。
我曾尝试过Swarm和覆盖networking,但是Swarm旨在运行独立容器,并且组成它不起作用。 另外,我曾尝试docker-compose包,但是这不是预期的工作:(
我认为这将是这样的工作 :
1)在pipe理器节点上创build覆盖networking
2)在每个组成文件中,我用覆盖networking扩展rabbitmq容器的networkingconfiguration。
3)他们按预期工作,我不发布到互联网rabbitmq端口。
任何想法,我怎么能做到这一点?
你的方法是正确的,但是Docker Compose目前不能和Swarm模式一起工作 。 撰写只运行docker
命令,所以你可以编写你想要的东西。 对于每个项目你都有一个这样的脚本:
docker network create -d overlay app1-net docker service create --network app1-net --name rabbit-app1 rabbitmq:3 docker service create --network app1-net --name app1 your-app-1-image ...
当你在pipe理器上运行这三个脚本时,你将有三个networking,每个networking都有它自己的RabbitMQ服务(默认只有一个容器,使用--replicas
来运行多个)。 在networking内,其他服务可以通过DNS名称rabbit-appX
到达消息队列。 您不需要发布任何端口,因此不能在Dockernetworking之外访问Rabbit。
- 未定义的方法`source_url'为#<Chef :: Cookbook :: Metadata:0x000000006f1378>
- Gitlab:dockerlogin通过令牌失败
- 如何使用docker-compose构buildredis服务器和redis cli?
- 我需要手动标记“最新”时推送到docker公共存储库?
- 如何在Docker中使用永久CLI?
- docker-machine env错误:无法find或加载主类mindbright.application.MindTerm
- 我一直得到“dockerbuild设”需要1正确的参数(S)错误
- Bitbucketpipe道如何设置ssh代理部署在远程服务器上
- Docker构build失败(rpc错误:code = 2 desc =“oci运行时错误:exec格式错误”)