Modo corretto per aggiornare il sistema operativo Docker (bullseye)

Devo aggiornare l’attuale sistema operativo Debian (bullseye) per aggiornare i pacchetti che vengono segnalati. Esiste documentazione o passaggi in merito?

Grazie

Questo non è un problema di Discourse, ma un problema del sistema operativo. Ci sono molti siti che descrivono come aggiornare il tuo sistema operativo.

La mia raccomandazione è di creare una nuova VM con un nuovo sistema operativo e poi Spostare un sito Discourse su un altro VPS con rsync

2 Mi Piace

Il sistema operativo Docker installato durante l’installazione di Discourse, non il sistema operativo host.

Puoi aggiungere i soliti comandi ad app.yml

1 Mi Piace

Vuoi aggiornare Debian all’interno del container?

Cosa viene segnalato e da chi?

Ma se è quello che intendi, puoi

./launcher enter app
apt-get update
apt-get upgrade

e probabilmente non romperà nulla. Non lo consiglierei, però.

E se è davvero quello che intendi, allora puoi aggiungerli come blocchi exec, puoi guardare templates/import/mysql-dep.template.yml per un esempio.

Sì, Debian all’interno del container perché la vedo come la mia unica opzione.

Ad esempio, il nostro team di sicurezza ha segnalato vulnerabilità con Node.js 18.x, libcurl, openssl. Prendendo libcurl, la mia versione attuale è la 7.4 che sembra essere la versione più aggiornata in bullseye, ma per conformità deve essere la 8.4 e altri pacchetti seguono lo stesso destino.

./launcher enter app
apt-get update
apt-get upgrade

Ho eseguito questi comandi per aggiornare bullseye ma senza successo.

Sì. Non è così semplice. Non esiste un “modo corretto per aggiornare il sistema operativo Docker (bullseye)”.

Potresti concepire di modificare https://github.com/discourse/discourse_docker/blob/main/image/base/slim.Dockerfile per creare un’immagine che il tuo team IT approverà. Suppongo che inizierei usando l’ultima versione di Debian come immagine di base. Probabilmente stanzierei una settimana per farlo, ma potrebbe facilmente richiedere la metà o il doppio del tempo, se la codebase di Discourse funzionasse anche con le versioni più recenti (probabilmente lo fa, ma non c’è modo di saperlo).

Creare un’immagine che funzioni e soddisfi i tuoi problemi di conformità richiederà tempo e sarà probabilmente più pericoloso che utilizzare l’immagine standard, che è testata dal team Discourse e funziona su migliaia di siti. Invece, eseguirai un’immagine che solo tu conosci. Quando sarà rotta, non potrai ottenere alcun supporto qui poiché sarà impossibile sapere se il problema è con il codice o con qualche libreria che Discourse non supporta ancora.

Ogni volta che aggiorni, dovrai dedicare tempo per vedere se gli aggiornamenti di Discourse funzionano con la tua immagine.

Se i tuoi addetti IT insistono su questi aggiornamenti, dovresti probabilmente considerare un’altra piattaforma.

Ehi, qui uno sviluppatore di spicco dice che usa sempre l’ultima Node LTS nella sua versione di sviluppo, suggerendo che non dovrebbero esserci problemi.

Quindi, ciò significa che il tuo problema con Node dovrebbe essere totalmente risolto.

Sembra altamente improbabile che libcurl possa causare problemi in modo non retrocompatibile, quindi forse il tuo compito non è così difficile come immaginavo. Quindi, forse solo 1-5 ore di lavoro per qualcuno che ha familiarità con i vari pezzi.

Quindi penso che dovresti semplicemente fare un fork di discourse_docker e cambiare alcune righe in slim.Dockerfile e forse funzionerà e non sarà un grosso problema dopotutto.

1 Mi Piace