É difícil responder isso sem mais informações. Mas aqui estão algumas ideias para um mundo Docker.
Primeiro, eu tentaria pensar nas imagens e contêineres do Docker mais como aplicativos do que nas VMs. Gerencie separadamente a infraestrutura do host dos contêineres do Docker. Pode ser perfeitamente aplicável executar o Puppet ou o Chef nos hosts para gerenciar seus contêineres e dependências do Docker. Quando você chega a um mundo totalmente contêiner, você realmente simplifica seus hosts executando uma plataforma como o CoreOS. Mas eu provavelmente não começaria com o CoreOS se você estivesse entrando no Docker.
Separe seus aplicativos e arquivos de vídeo (que você já mencionou). Crie contêineres 'somente de dados' que persistem arquivos de vídeo nos hosts. Eu gosto de usar a imagem tianon/true
Docker para isso. Execute a imagem com um volume que pode persistir:
docker run -d --name videodata -v /videodata tianon/true
Parece que em breve você terá pelo menos uma outra imagem para o seu contêiner nginx, PHP-FPM e ffmpeg. No entanto, eu provavelmente tentaria separar esses componentes em imagens separadas. Você pode ter um contêiner PHP-FPM que executa seu código e expõe uma porta ou soquete para o nginx a ser usado para proxy reverso. Esse contêiner também usaria --volumes-from
para montar a pasta /videodata
persistente.
docker run -d --name application --volumes-from videodata myorg/myappimage
Então você pode ter uma imagem nginx que utiliza o DNS do link do Docker para acessar o PHP-FPM:
docker run -d --name web -p 80:80 --link application:phpfpm myorg/mynginximage
Na configuração do nginx, você pode acessar diretamente o nome DNS phpfpm
para resolver o endereço IP do contêiner do aplicativo.
A próxima expansão disso seria cada vez mais na descoberta de serviços. Você pode substituir a imagem do nginx por um dispositivo como o link para adicionar e remover automaticamente os contêineres de aplicativos à medida que eles forem indo e vindo. p>
Uma vez que você começa a entrar em um mundo Docker de vários hosts, ferramentas e conceitos como diretórios de serviços ( link ), embaixadores ( link ), registro de serviço dinâmico em diretórios ( link ) e balanceamento de carga ( link ) será mais interessante.
Portanto, para responder à sua pergunta, acredito que você tenha casos de uso válidos para o Docker. Mas eu não acho que mixar o OpenVZ e o Docker seja uma boa ideia. Você provavelmente quer um ou outro.