Using Docker to deploy applications, how to allocate the software that needs to be installed?

I used to reinstall the software every time I had a new server, but then I found that docker, felt good. So I read some tutorials, understood some basic concepts, and also tried to make my own container based on the image of debian. I installed all kinds of software, and then submitted it, and the capacity reached 4GB. At first, I thought it was nothing, but later I thought something was wrong. It turns out that this is the wrong usage (as if many blogs teach you to submit), and you have to use Dockerfile to make an image.

question:
I think someone said to separate each software and put it in a container, assuming that my project is written by python, using nginx,mongodb,Redis, etc., should I run a software in a container and operate it through the port?
I want to know how to use docker, reasonably if you decide to use it in an actual project.
if a software runs in a container, is it all made of Dockerfile? the software needs to be upgraded, and then submit it, so that it can also be returned, and then the configuration file is also modified to submit it. This is the difference and usage between Dockerfile and commit that I can think of at present.

Apr.11,2021

in fact, each software can be run in a container and then linked and used by link. I personally feel bad about packing it all together. The way of "non-pluggable" packaging is no different from using a large virtual system, and it is not easy to maintain

.

for example, what I did when I was learning is that nginx is a container, and then it can be enabled. Mysql is also a container, and start and stop can be operated separately, so that each configuration file can be mapped in the folder location of the corresponding host, and the configuration can be done when docker is not started. It is true that many tutorials are packaged, and I don't know why

MySQL Query : SELECT * FROM `codeshelper`.`v9_news` WHERE status=99 AND catid='6' ORDER BY rand() LIMIT 5
MySQL Error : Disk full (/tmp/#sql-temptable-64f5-1e38938-59515.MAI); waiting for someone to free some space... (errno: 28 "No space left on device")
MySQL Errno : 1021
Message : Disk full (/tmp/#sql-temptable-64f5-1e38938-59515.MAI); waiting for someone to free some space... (errno: 28 "No space left on device")
Need Help?