Redundancy is not easy. What does it even mean for you? Have a backup? Or have high availability, all services always available?
Docker is great, it was made for Linux. So for production, you should not use developer tool Docker Desktop, but real Linux servers with Docker Engine.
We run services with high availability on Docker Swarm. We have an external managed load balancer, so the gate (domain pointing to a single IP) always works. Our services run in Docker Swarm cluster of 3 nodes, usually 3 instances, so one node can die. The same for our database. Services available 24x7.
Docker Swarm is old school, very few new features, but it runs reliably for us, maybe for that reason.
The other option is Kubernetes, or smaller k3s, but it has many more moving parts, APIs are changing, it’s way more complex, they say you need 2 FTE to manage.
To make Docker more secure, check the Docker OWASP cheatsheet.