Docker vs CMS - related or a different thing? I am new to DevOps and I am trying to catch the techniques and their names and meanings.

I looked wikipedia explanations on Puppet (a Configuration Management System example) and that of Docker.

Docker page says it is categorized as a virtualization platform. Docker manages many virtual containers on same Linux machine.

Is there some similar way as with Puppet and other CMS to tell what configuration is set up on container ad-hoc creation as there is in a CMS or is there anything similar on these two (a CMS and Docker and like)? Could they be used only separately or also together? 

At least there exists a dockerfile to do some kind of similar sounding thing than system description language makes in CMS. That makes me think they perform similar tasks. 

So in short I would like to how to categorize CMS vs Docker.
Something like puppet would help automate and configure the Docker Container.  CMS is configuration/provisioning and Docker is like you said a virtualization platform.  You're trying to compare two completely different things.  Here is an article on how to configure puppet with docker, sometimes an example helps.  https://puppet.com/blog/building-docker-images-puppet

For another way to classify, Docker is the VM you host your software.  CMS is automation on how to provision it. 

As a side note, most people are moving to Kubernetes to orchestrate and provision containers on the cloud.