I have successfully set up a multi container project where containers communicate via AMQP messaging. To achieve this, im am currently using a broker via the official arm32v7/rabbitmq image. This image is part of my docker-compose setup. Now I want to leverage the Dockerfile.template mechanism to make my project architecture independent. The application containers are based on balenalib base images, so I can use placeholders for the target platform (‘raspberrypi3’, for example) - everything fine so far.
But how do I proceed with the rabbitmq image? It is not part of balenalib and does not conform to the device type and architecture naming standards from balena. I would need to distinguish between arm32v7/rabbitmq and amd64/rabbitmq, for example.
Solutions I have in mind:
- Push the official images into my private registry and rename them to sth. like raspberrypi3-rabbitmq, armv7h-rabbitmq, or amd64-rabbitmq etc.
- Create a rabbitmq image from an balenalib/alpine base image and build rabbitmq on top.
- Create two or more architecture specific project referring to the official rabbitmq images.
Any suggestions for an elegant solution are welcome.