I think key terms are "container" and "runtime environment". I think of Docker being mostly in the realm of "sys ops" and something a programmer should be aware of but not necessarily concerned about very much. (well, until there's a problem )
Being a "Jack of all trades" to some extent is a good thing. But don't let the "master of none" happen to you. IMHO it's better to follow your love wherever that leads you and focus your efforts on whatever that may be.
These commands may give some clue about what Docker does
* note, "images" as used by Docker does not mean "graphics files".