Implantando o aplicativo Rails com docker-compose
Atualmente eu tenho um ambiente bastante padrão: nginx + web (Rails) + worker (Sidekiq) + Postgres + Redis + Data Containers (armazenamento de arquivos e armazenamento de banco de dados).
O processo de implantação parece bem direto: - atualizar o código fonte; - reconstruir contêiner (es); - executar migrações; - pare de velho e lance novos contêineres;
Paraweb
(trilhos) edata
(pg) contêineres seria algo como isto:docker-compose build && docker-compose run web rake db:migrate && docker-compose up -d
.
Existem práticas recomendadas e esta solução é compatível com elas? O Capistrano usa a abordagem de releases (com capacidade de reversão) - essa abordagem é aplicável ao Docker? É possível usar o Docker e o Capistrano?
Compartilhe suas soluções ou links para histórias de sucesso.
Obrigado!