É preciso ter uma linguagem de programação instalada para executar a mesma com Docker?

Desculpem-me pelo amadorismo, estou iniciando os estudos sobre Docker.

A dúvida é quanto a utilidade do Docker. Compreendo um pouco sobre as diferenças entre ele e uma máquina virtual porém uma ideia que tenho da VM é que tudo que instalamos nela não possui contato algum com nosso ambiente externo. Logo não é preciso ter uma LP que será usada na VM em nosso ambiente externo.

Sei que existe imagens de LP no Docker Hub, mas ao pouco que entendi, esse conceito não é aplicado no Docker? Ao que vejo tenho que ter instalado a linguagem para poder criar a imagem pelo Dockerfile, ou entendi errado?

Obrigado desde já.

Uma imagem docker te ajuda a ter um ambiente pronto para rodar determinado programa. Isso facilita a vida na hora de publicar aplicações hoje em dia.

Antes, vc tinha que preparar um servidor para rodar determinado programa. Se fosse uma aplicação java que precise de um Jboss para rodar. Vc teria que deixar um jboss instalado numa maquina, fazer toda a configuração e então implantar o sistema. E se vc precisasse de um outro servidor, vc teria que instalar novamente o jboss e refazer toda a configuração necessária.

Usando docker, vc só precisa ter uma imagem preparada e criar qtas instâncias dele vc precisar, apenas alterando alguns detalhes. Bem menos trabalhoso. Sem falar das várias plataformas que utilizam o docker automatizando muitas coisas, como o kubernetes, por exemplo.