I think this wiki article will help you understand some of the basics:
I would recommend (especially if you’re just getting started) to run in Docker, without caddy-docker-proxy initially. It’s inherently more complex to use CDP because it requires understanding of the Caddyfile for proper configuration. CDP is best for when you have auto-scaling and/or container replicas. It sounds to me like you just have single instances of various services, so you won’t get those benefits.