It's a virtualization technique that allows an application / system to run without actually having to virtualize a whole OS and the application then installed on that OS. So it is a lot more lightweight and thus easier to deploy and maintain.
Just check out the docker site.
To really understand it, you'd need to experiment and create a docker container and run it. It's really not difficult.
Lots of tutorials, here: Docker Java Example - javatpoint
(learn by doing.)