Docker-compose: distribuzione del servizio in più host

Ho un file che compone il docker che distribuisce 8 diversi servizi docker nello stesso host. È ansible distribuirlo in diversi host ?, vorrei distribuire un servizio in un host e in un altro host in remoto. Avrei bisogno di usare il cespuglio? o è un modo più semplice da fare?

Ho letto che potrebbe essere fatto utilizzando DOCKER_HOST, ma se configuro / etc / default / docker con questa variabile, tutti i servizi verranno eseguiti nell'host remoto e ciò che mi occorre è alcuni servizi in un host remoto e altri servizi in altri host remoti.

Per un singolo docker-compose.yml da distribuire a più host, è necessario utilizzare lo swarm standalone (non il modo swarm più recente, tuttavia, questo sta rapidamente cambiando). Spin up un gestore di swarm che ha ciascun host definito come membri del suo swarm e quindi è ansible utilizzare vincoli all'interno del tuo docker-compose.yml per definire quali servizi eseguire su quali host.

È inoltre ansible suddividere il tuo docker-compose.yml in più file, uno per ciascun host e quindi eseguire più comandi di compilazione docker, con un diverso valore DOCKER_HOST definito per ciascuno.

In entrambi i casi, è necessario configurare le installazioni docker per ascoltare sulla networking, che dovrebbe essere eseguita configurando TLS su tali prese. Questa documentazione descrive ciò che devi fare per questo.

È ansible utilizzare la versione 3 della creazione di docker che consente di implementare l'implementazione di più host senza utilizzare più file di composizione. Tutto ciò che serve è definire le etichette per each nodo del cluster e utilizzare il nome dell'etichetta per il vincolo di posizionamento .