First is your second question. A good reason to use a private repository is that your images are, well ... private. The most common practice, I think, is that people who do not have a private repository use a public index, simply because it is easy. If you want to open something, be sure to use a public index. But if you have a private project, it's time to open a private index.
. , . , Docker, , UML . , . , , .
, , , ( - , , ).
Me: bash script, . .
.