Estou muito familiarizado com o VirtualBox, mas alguém me disse "oh, você deveria usar o Docker" e parece que não conseguimos nos comunicar o suficiente para me fazer entender o porquê.
Basicamente, quero compartilhar um ambiente de desenvolvimento de software com um amigo, para que possamos ter certeza de que temos IDEs, pacotes, plugins/extensões idênticos, etc; a única diferença será o código em que cada um de nós está trabalhando atualmente, e que entra e sai do Git.
Espero que possamos usar apenas o VS Code como IDE, embora haja o lado do servidor PHP e o lado do cliente Flutter/Dart e meu amigo está familiarizado com o Android Studio e preferiria usá-lo para o lado do cliente.
Eu preferiria usar um único IDE (VS Code) e espero influenciá-lo. Embora possam ser duas instalações do VS Code, uma com front-end e outra com extensões de back-end. Não estou pedindo ajuda nessa decisão, apenas tentando apontar o que pode estar em nossa VM.
Também precisaremos de um servidor Apache e, provavelmente, do Libre Office para documentação.
O pouco que conheço do Docker me leva a acreditar que seria menor, mas acho que tende mais a um único aplicativo.
Se fosse o VirtualBox, eu instalaria o Ubuntu e apt get install
alguns aplicativos. Com o Docker, não sei por onde começar, embora tenha certeza de que o YouTube seria informativo.
Então, imagino que minhas dúvidas sejam posso/devo usar o Docker para isso, e quais vantagens teria?
Se entendi corretamente, você deve configurar um novo ambiente e compartilhá-lo com outra pessoa ou fornecer acesso a ele, correto?
Você tem experiência com o Oracle VirtualBox, mas um amigo recomendou o Docker.
Se o seu objetivo é compartilhar essa instância de VM com a outra pessoa para que ela trabalhe dentro dessa instância localmente, o motivo pelo qual eles sugerem o Docker é provavelmente porque é isso que eles estão usando. O Docker usa o Microsoft Hyper-V e, se você usar o Oracle VirtualBox, não poderá usar o Hyper-V ou o Docker ao mesmo tempo, o que significa que, se eles já usarem o Docker, não poderão mais fazer isso.
Se você permitir que eles acessem seus serviços remotamente, isso não importa para eles, apenas sua maneira de configurar o acesso importa, mas isso provavelmente tornaria o desenvolvimento mais lento para eles.
É claro que você pode usar o Hyper-V e compartilhar o arquivo VHDX com eles para atingir o mesmo objetivo, mas tenha uma máquina virtual.
Eu compartilho sua preocupação sobre o Docker ser mais para um aplicativo em vez de agrupar vários aplicativos. O Docker parece estar hospedando um serviço e interagindo com ele remotamente, em vez de usá-lo como um serviço para se conectar.
Minha resposta seria, portanto, fique com o que você sabe e, se eles solicitarem o Docker porque não querem perder a capacidade de usar o docker, considere usar o Hyper-V. Obviamente, isso significa que você não poderá mais usar o VirtualBox.
Se isso não for uma opção, então a melhor solução é usar o VirtalBox, instalar tudo, criar várias contas de usuário e instalar o xrdp para que eles possam se conectar ao seu servidor usando o Microsoft Remote Desktop e trabalhar diretamente no servidor.