For development purposes you do not need Docker but you do want a development playground that is easy and pliable for any technology to be investigated by a developer and a Docker or runc based mechanism to break up your environments for isolation and testing helps reduces the effort and time needed by a developer to try out new frameworks and tools be they Java-based or other technologies that are supported in containers. additionally, containers are useful to service enable greenfield and brownfield projects reducing their complexity when trying to make changes or modernizing a legacy based architecture. Being able to leverage someone’s else's effort for the config and maintenance of the base layers reduces the effort for a developer that he or she is typically responsible for is a good thing as well. If you want to learn Docker then you must take up the following DevOps training Course. This course covers Docker, Jenkins, Git and many other technologies. You can also watch the following video tutorial to learn Docker.
Docker video:
DevOps video:
Java video: