È un modo semplice per impostare la distribuzione automatica delle applicazioni con un frontend, un database e alcune password e chiavi di accesso lanciate per una buona misura. Ogni volta che esegui Docker-Opse dall'interno di una directory che contiene un documento di composizione.YML passa attraverso il file e distribuisce l'applicazione come specificato.
Per aiutarti a scrivere il tuo documento.YML qui sono 5 frammenti di yaml semplici e, si spera, che puoi mescolare e abbinare.
Probabilmente l'applicazione più comune da distribuire come contenitore Docker è Nginx. Nginx può fungere da server proxy inverso e come punto di terminazione SSL per le tue applicazioni Web. Diversi sistemi di gestione dei contenuti come Ghost e WordPress possono essere ospitati dietro un singolo server proxy inverso NGINX e quindi ha senso avere sempre un snippet di server Nginx. La prima cosa di cui avresti bisogno è un file di configurazione Nginx. Se scegli di non crearne uno, il server HTTP predefinito è ciò che otterrai.
Ad esempio, creerei una cartella nginx-configurazione nella mia cartella domestica. Il file di configurazione Nginx.Conf sarà presente all'interno di questa cartella, insieme ad altre directory di file che Nginx si aspetterebbe da /etc /nginx. Ciò include certificati e chiavi SSL e nomi host per i server backend in cui il traffico deve essere inoltrato.
Questa cartella può quindi essere montata all'interno del contenitore Nginx AT /ETC /NGINX (con autorizzazione di sola lettura se si preferisce una precauzione aggiuntiva) e puoi eseguire il server come contenitore, ma è possibile configurarlo localmente dalla tua directory home senza dover registrare nel contenitore.
Questo è un campione:
Versione: '3'Blog fantasma
Ghost è un CMS scritto principalmente in nodo.js ed è semplicistico, veloce ed elegante nel design. Si basa su NGINX per instradare il traffico verso di esso e utilizza MariaDB o talvolta SQLite per archiviare i dati. È possibile distribuire un'immagine Docker rapida e sporca per Ghost usando un semplice frammento come mostrato di seguito:
Versione: '3'Questo crea un nuovo volume e lo monta all'interno del contenitore per archiviare il contenuto del sito Web in modo persistente. È possibile aggiungere il precedente servizio di proxy inverso NGINX a questo file di composizione e avere un blog Ghost di grado di produzione attivo e in esecuzione nella questione dei minuti, a condizione che tu abbia configurato NGINX per instradare il traffico pertinente dalla porta 80 o 443 alla porta 2368 sul fantasma contenitore.
Mariadb
MariaDB è un software abbastanza utile per non essere disponibile alla chiamata di un momento sul server. Tuttavia, i database creano molti registri, i dati effettivi tendono a diffondersi in tutto il luogo e l'impostazione di server di database e/o client non va mai senza intoppi. Il file Docker-Opgy accuratamente realizzato può mitigare alcuni dei problemi cercando di archiviare tutti i dati pertinenti in un unico volume Docker, mentre il database Software e le sue complessità sono nascoste nel contenitore A:
Versione: '3'È possibile creare un nuovo contenitore di database per ogni nuova applicazione, invece di creare più utenti sullo stesso database, impostare i privilegi e passare attraverso una rigmarole dolorosa di garantire che ogni app e utente rimanga sul proprio terreno. Inoltre, non dovrai aprire le porte sul sistema host poiché il contenitore del database verrà eseguito sulla propria rete isolata e puoi averlo in modo che solo l'applicazione possa far parte di tale rete e quindi accedere al database.
WordPress Stack
Un culmine di tutte le varie parti dall'uso delle variabili di ambiente per l'esecuzione di un server Web frontend e un database di backend può essere combinato in un file di composizione Docker per un sito Web WordPress, come mostrato di seguito:
Versione: '3.3 'Questo è l'esempio più popolare ed è anche menzionato nella documentazione ufficiale di composizione Docker. È probabile che non aprirai WordPress, ma il file di compose qui può comunque servire come riferimento rapido per pile di applicazioni simili.
Docker-Ongose con Dockerfiles
Finora abbiamo avuto a che fare solo con il lato puro di distribuzione di docker. Ma è probabile che tu utilizzerai COMPO non solo per distribuire ma sviluppare, testare e Poi distribuire applicazioni. Sia che in esecuzione sulla workstation locale o su un server CD/CI dedicato, Docker-Opgose può creare un'immagine utilizzando il Dockerfile presente nella radice del repository riguardante l'applicazione o parte dell'applicazione:
Versione: '3'Avrai notato che mentre il servizio backend utilizza un'immagine preesistente di MariaDB, l'immagine del frontend viene prima costruita dal Dockerfile situato all'interno ./Directory del codice frontend.
L'intera funzionalità di docker-compose è abbastanza facile da capire se solo ci chiediamo cosa stiamo cercando di costruire. Dopo alcuni errori di battitura e il tentativo fallito, rimarrai con una serie di frammenti che funzionano perfettamente e possono essere messi insieme come blocchi di costruzione LEGO per definire la distribuzione dell'applicazione.
Spero che i precedenti esempi ti diano un buon vantaggio. Puoi trovare il riferimento completo per la scrittura di un file di composizione qui.