Automated tag versioning on unchanged docker images I am starting to use Continuous Integration on my microservices solution (monorepo approach), and I am referencing this post for versioning approach. 

But, let's say I make some change in one of the microservice and commit that change, but all the others are exactly the same. How the process would know that those microservices (docker images) weren't changed so don't need to increase the build number? I feel like I would end-up with many docker images with different build numbers but same content.

Am I misunderstanding the concept? Sorry, this whole microservices and docker thing are pretty new to me.
How it should look like:


Commit changes in some microservice and push it to VCS origin repo
CI system sees new commit
CI starts build and tests
If everything's good, it pushes image to docker registry with tags


So, the answer is: CI should know, what service has changes.