Possibile configurazione del sito web Nginx Docker Flask

-1

Inizialmente avevo pubblicato una variazione più lunga della domanda in basso sul sito Stackoverflow, ma ero stato chiuso per essere troppo ottuso. Sono un principiante nell'usare VPS in generale e volevo provare qualcosa con un sito Web di Flask.

Voglio configurare un sito web di Flask su DigitalOcean con alcuni link che lanciano alcuni giochi supportati da tornando / twisted o da altri siti web di Flask. L'architettura per il sito web può essere mostrata nello schema seguente:

Quale sarebbe un buon modello da usare? Se sto cercando la soluzione Docker, dovrei inserire nginx / Docker / gunicorn in un contenitore o in contenitori separati?

Per favore, prima di interromperlo, se la domanda è troppo ampia, potresti dirmi che cosa è l'exactyl nella domanda, quindi posso riformularlo per arrivare al punto che sto facendo? Grazie.

    
posta corax 24.06.2017 - 03:51
fonte

1 risposta

0

Stai guardando tra 3-5 contenitori, a seconda di cosa vuoi fare.

Opzione 1: Contenitore TUTTE LE COSE

5 contenitori. Esegui Nginx da un contenitore e da ciascuna app, incluso il sito principale. Forse eccessivo.

Opzione 2: 4 contenitori

Se il tuo sito principale è solo un po 'di contenuto statico che si collega agli altri siti, e non una sua bestia complessa, puoi creare la tua immagine di finestra mobile basata sull'immagine Nginx che copia il sito statico nel contenitore e serve da lì.

Opzione 3: installa Nginx sul tuo VPS

Onestamente, non si ottiene molto dall'esecuzione di Nginx in un contenitore Docker. Può essere installato e funzionante in pochi minuti. Fare l'installazione ti fa risparmiare direttamente il sovraccarico di eseguire ancora-un altro-contenitore. Se si tratta di un sito statico, è sufficiente sincronizzare i file nella giusta directory affinché Nginx li serva. Se si tratta di un'app reale, potresti volerla containerizzare. 3-4 contenitori qui.

Come puoi vedere, qualunque sia la strada da percorrere, ti consiglio di utilizzare contenitori separati con un proxy inverso per ciascuna delle tue app. Facendo ciò disaccoppia le tue implementazioni. Se uno di loro ha bisogno di un aggiornamento, puoi farlo senza intaccare il resto. Se uno di loro fallisce, non porterà gli altri giù con esso. Più contenitori sono sicuramente la strada da percorrere.

Quando si hanno più contenitori, può diventare un po 'complesso metterli tutti in funzione, quindi sarebbe una buona idea guardare in docker-compose o scrivere uno script di shell veloce per portarli tutti in una volta.

    
risposta data 26.06.2017 - 04:43
fonte

Leggi altre domande sui tag