There are plenty of topics on this exact subject already, and although it may take some figuring out if you’re a newbie, you should find some information to start here
This topic may also prove useful: How to use Docker multiple containers without exposing ports
If you’ve followed the official guide then you’ll know about the discourse docker repository. In that, you had to edit an app.yml file. That contains all the information the launcher script needs to build a web, redis and postgres container in one.
Instead of using app.yml, there are other samples that you can use which are data.yml and web_only.yml. Guess what these do?
Go ahead and have a play. You will need a full day or two to understand everything that’s going on and configure things. If you’re still struggling after all that then post back here and I’ll help you as much as I can.