Ho dovuto modificare e ricaricare la configurazione più volte per risolvere i problemi relativi al servizio di posta di Siteground. Ci sono diversi consigli su come farlo nel modo più rapido.
Riassumerli tutti crea confusione.
Quindi, potresti spiegarmi in modo più dettagliato le differenze tra i comandi elencati qui sotto?
Le informazioni presenti nella guida all’installazione e nei post di questo forum sono in qualche modo incoerenti. Non è del tutto chiaro, ad esempio, qual è la differenza tra l’inizializzazione e la costruzione di un contenitore.
Dovrebbe esserci una scala di escalation che indichi quali azioni richiedono quale comando, ad esempio se si modifica app.yml: alcuni dicono che start è sufficiente, altri affermano che è necessario rebuild o anche eseguire ./discourse-setup.
Comandi:
start: Avvia/inizializza un contenitore
stop: Ferma un contenitore in esecuzione
restart: Riavvia un contenitore
destroy: Ferma e rimuove un contenitore
bootstrap: Avvia (bootstrap) un contenitore per la configurazione basata su un modello
rebuild: Ricompila un contenitore (distrugge il vecchio, esegue bootstrap, avvia il nuovo)
Sto lentamente arrivando alla convinzione che tutti i comandi rappresentino una sequenza di azioni successive.
Ogni passaggio o comando successivo fa quanto il suo predecessore più qualcosa in più.
Ad esempio, qualcosa del genere:
Avvio
bootstrap: distrugge il vecchio + avvia (bootstrap) un contenitore per la configurazione basata su un modello
rebuild: esegue bootstrap + ricompila un contenitore (avvia il nuovo), il che significa che esegue operazioni come il download delle ultime versioni del software e l’applicazione della configurazione aggiornata
Sto per fare una PR su GitHub, ma ho bisogno di comprendere ogni comando in dettaglio, cosa che attualmente non è il caso.
Potresti dirmi cosa attiva ogni comando? Ho letto molti post a riguardo, ma le informazioni non sono coerenti.
Un buon esempio è start. Si dice che viene utilizzato solo per fermare e riavviare il container, ad esempio se si sta facendo qualcosa sull’host. In un altro argomento invece si menziona che inizializza un container, qualunque cosa significhi “inizializza”
Inizializzare significa che, se non esiste un container, verrà creato. Se arresti e riavvii, fermerai e riavvierai lo stesso container con gli stessi parametri (come le impostazioni SMTP e altre variabili d’ambiente), ma se prima lo distruggi, verrà creato o inizializzato un nuovo container con nuove impostazioni d’ambiente.
Bootstrap crea una nuova immagine Docker, necessaria per poter “inizializzare” un container in esecuzione.
La ricostruzione funziona sempre. A volte è superflua, poiché una distruzione e un riavvio sono sufficienti per far applicare le impostazioni dell’ambiente (come SMTP). Tuttavia, molte persone non comprendono davvero queste sottigliezze, quindi è meglio indicare loro di ricostruire sempre, dato che funziona in ogni caso.
Usage: launcher COMMAND CONFIG [--skip-prereqs] [--docker-args STRING]
Comandi:
start: Avvia/inizializza un container
stop: Arresta un container in esecuzione
restart: Riavvia un container
destroy: Arresta e rimuove un container
enter: Apri una shell per eseguire comandi all'interno del container
logs: Visualizza i log di Docker per un container
bootstrap: Avvia un container per la configurazione basata su un template
run: Esegui il comando dato con la configurazione nel contesto dell'ultima immagine avviata
rebuild: Ricostruisci un container (distruggi il vecchio, avvia il nuovo)
cleanup: Rimuovi tutti i container che sono stati arrestati per più di 24 ore
start-cmd: Genera il comando docker utilizzato per avviare il container
Opzioni:
--skip-prereqs Non controllare i prerequisiti del launcher
--docker-args Argomenti aggiuntivi da passare durante l'esecuzione di docker
--skip-mac-address Non assegnare un indirizzo mac
--run-image Ignora l'immagine utilizzata per eseguire il container
root@monstera:/var/discourse#