O Wine fornece uma camada de compatibilidade que traduz as chamadas do sistema Windows para chamadas do sistema POSIX que o Ubuntu pode entender.
O Virtualbox fornece emulações de um ambiente de sistema que permite que você execute outro sistema operacional. Essa ainda é a maneira preferida de executar o software original em um sistema operacional esperado. Obviamente, ambas as soluções são mais lentas do que usar o software nativamente. Na minha experiência, o Windows 10 em uma caixa virtual no Ubuntu é executado mais lentamente do que o Windows 7, mas isso pode depender do meu hardware.
O Docker fornece uma camada de abstração usando a virtualização do kernel, mas não fornece chamadas do sistema Windows, portanto não ajudará a executar o software do Windows que não roda no Ubuntu sem o Docker.