Here is the list for Docker which all programmers should learn:-
Docker is not a lightweight VM in Linux terms, it is a sandbox. This doesn’t make much difference when you simply run the app in it, but once you try to set up the whole startup/deployment procedure you’ll find differences.
It can be thought of as an alternative to systemd. You’ll have to stick with one or the other.
If you are working with Docker then you must know Docker infrastructure and Docker approaches to setting things up and use quite often. For example, ssh vs docker exec, apt install vs docker pull.
As of 2019, many people use Docker in production. Many others consider it to be very immature for production use.
You must learn Docker for that I would suggest you take up the following Docker training Course. Here is a video tutorial which you must watch to clear all the basics of Docker. .