I'm early on in a project and have been looking at Docker as a potential solution for a lot of what I'm doing, specifically with a Prisma/GraphQL/Node backend. I do have some questions as to how best to learn this and I'm hoping you can send me on the right path. Currently the app uses a PHP backend with MySQL on a single DigitalOcean server. I'll say that I'm learning Docker because Prisma depends upon it.
From what I understand, Docker "containerizes" my app in such a way that it allows for easy implementation and deployment. I guess I just don't understand how it fits into the stack.
Normally if I had, say, a Node project, I would use Git to manage a development build and work on that build on my local machine via node src/index.js. But Docker doesn't appear to replace Git, so I'm unsure of what the actual purpose here is. It containerizes the implementation that is already containerized within a Git repo?
This also seems to imply things about databases; my previous implementation (which was not very scalable to begin with) would just store the DB on the same server which was hosting the backend. With Docker it seems like this is less of a good idea, and I should probably use a dedicated DB service which I have no idea about integrating.
Any help is appreciated as I'm rather confused. Even links to resources would be greatly appreciated.