A resposta é: depende.

Se você está desenvolvendo uma aplicação pra aprender, localmente e etc, é dispensavel. Apenas tenha certeza de documentar muito bem o que é necessário para que sua aplicação seja instanciada na máquina e qual o procedimento a ser seguido para isso.

Se estamos falando de projetos reais, é muito importante que o projeto conte com um Dockerfile. Lembre-se: voce nao esta desenvolvendo algo que vai funcionar apenas localmente, isso vai rodar em alguma Cloud ou maquina on premise e sua aplicação será manipulada por algum orquestrador de containers (como Kubernetes ou ate docker-compose). O dockerfile é um arquivo que descreve como criar uma imagem da sua aplicacao, de forma que seja possivel e simples iniciar uma máquina com as condições ideais para que essa aplicação funcione de forma correta.

Então, sim. É indispensável criar dockerfiles para aplicações que vão estar em produção. Não, voce nao precisa ter isso localmente mas é boa pratica e é importante aprender

Meus dois centavos de contribuição nisso, se for o caso de uso em produção:

  • Nunca use a imagem latest na base de suas imagens, use as tags.
  • Se possivel, versione seu Dockefile em um repositório git.

muito obrigado, vou estudar sobre pra aprender