learning-docker/prod-ish/rmq/rmq at main · spawnmarvel/learning-docker · GitHub

So we always need to update our images to reflect the new version.

Run (you might need to rm image/container or maybe use the –rebuild cmd)

From rabbitmq – Official Image | Docker Hub the version to use now it 3.13.

In my case, it was old: 3.12

Lets remove container and image, and run a a new updated one.

But first add a msg so we know the persistent is well yes, persistent.

Restart and verify

Check queue

Persistent yea

Ok, lets get to work

~/rmq$ docker compose down

sudo nano Dockerfile

cat Dockerfile
FROM rabbitmq:3.13-management
COPY rabbitmq.conf /etc/rabbitmq
RUN rabbitmq-plugins enable --offline rabbitmq_shovel && rabbitmq-plugins enable --offline rabbitmq_shovel_management
~/rmq$ docker compose up -d

Version is same

Docker: be efficient – e-lo:Engineer log out. (follow-e-lo.com)

lets run with the –rebuild

~/rmq$ docker compose up -d --buil

[+] Building 11.7s (9/9) FINISHED                                                                                                                                                                                                                                   docker:default
 => [rmq-app internal] load build definition from Dockerfile                                                                                                                                                                                                                  0.0s
 => => transferring dockerfile: 223B                                                                                                                                                                                                                                          0.0s
 => [rmq-app internal] load metadata for docker.io/library/rabbitmq:3.13-management                                                                                                                                                                                           1.2s
 => [rmq-app auth] library/rabbitmq:pull token for registry-1.docker.io

Looking better.

Verify version

Verify data

All stable feature flags must be enabled after completing an upgrade. Without enabling all flags, upgrading to future minor or major versions of RabbitMQ may not be possible.

https://www.rabbitmq.com/docs/feature-flags

Use cli or

It is also possible to list and enable feature flags from the Management plugin UI, in “Admin > Feature flags”.

lets enable all and check.

Do some in cli also

docker ps
docker exec -it 21f31a49b21a bash
root@rmq4:/#

rabbitmqctl enable_feature_flag quorum_queue_non_voters
Enabling feature flag "quorum_queue_non_voters" ...

And do the rest also.

Stop and start rmq

Now check version and data, the 1 msg.

Perfect