Java used to lack many features to make the stuff you wanted it to do, so most Java programmers adapted design patterns to solve these problems.
Honestly, older versions of Java are utter garbage DX. The only reason it got so popular was because of aggressive enterprise marketing and it worked. How can a language lack such an essential feature as default parameters?
So, anyway after the great hype Java lost its marketshare, and developers were forced to learn another technologies. And of course, instead of looking for language-native way of solving problems, they just used same design patterns.
And thus MoveAdapterStrategyFactoryFactories were in places where simple lambda function would do the same thing, just not abstracted away three layers above. Obviously used once in the entire codebase.
Imo the only really good thing about Java was JVM, while it was not perfect, it actually delivered what it promised.
Docker is 80% Linux, 10% Networking, 5% Virtualization and remaining 5% is actual Docker-specific things.
If you learn Linux, networking and virtualization, Docker is just a cherry on top.