‫Brandon è d'accordo con il primo.
‫La prossima domanda qui va citata in giudizio contro l'utente.
‫Come preferisci utilizzare gli utenti non root nei contenitori e mantenere le autorizzazioni dei file su
‫o Hossain.
‫Qual è la migliore pratica attuale quindi le autorizzazioni in Docker.
‫Non è giusto dire che Docker stesso con i file che stai eseguendo in un
‫contenitore può essere molto frustrante, specialmente se stai usando montaggi di bind, quindi i montaggi di bind combinano le autorizzazioni dei file host con
‫quelle cose che girano nel container e che spesso possono ti ha portato a toglierti i capelli e diventare un
‫po 'folle e alcuni dei miei progetti più difficili sono stati quando abbiamo avuto bisogno di archiviazione di file condivisi multi server
‫per poter più contenitori su host diversi tutti accedendo agli stessi file con le giuste autorizzazioni e usando
‫anche il privilegio minimo con utenti non amministratori utenti non root corretti.
‫Quindi quelli possono essere davvero difficili.
‫Direi che l'utente non va.
‫Quindi, quando mi chiedi dell'utente Brandon, presumo che tu stia parlando nella costruzione dell'immagine DR perché è lì
‫che gli utenti si sono applicati correttamente.
‫E tende a funzionare meglio di Sue all'interno della costruzione di un cane o di un'immagine.
‫Quindi questa è la mia comprensione almeno del perché andare Sue è spesso usato all'interno delle immagini Docker per la
‫costruzione e in realtà non conosco il motivo per cui probabilmente l'ho imparato qualche anno fa e poi l'ho
‫dimenticato rapidamente.
‫Quindi suppongo che la tua domanda stia realmente parlando è quando stai costruendo immagini
‫e direi che l'utente è la migliore pratica lì per usare le linee di file Docker se sei all'interno di un comando di esecuzione e devi cambiare le autorizzazioni su una parte
‫specifica di quel comando di esecuzione ed è qui che mi viene dato
‫il senso perché potresti aver bisogno di fare cose come utente root ma non sempre all'interno di quel comando di esecuzione.
‫Quindi forse è quando scegli di andare avanti e altre cose giuste.
‫Quindi penso che in gran parte ciò che finisce con le persone che con i permessi non sono i
‫file nell'immagine sono i file durante il runtime giusto.
‫Quindi, una volta avviato il container, supponiamo che tu abbia un'app nodo e che l'app nodo sia
‫in esecuzione sia il nodo utente e abbia una directory di caricamento utente e quindi quei file siano archiviati sull'host e quindi
‫verranno archiviati come nodo utente e poiché è quello che i nodi in esecuzione lo sta eseguendo e quindi hai qualche altro processo forse un contenitore
‫diverso e utilizzando un volume condiviso o qualcosa o un importo di acquisto e che non
‫è in esecuzione come lo stesso utente e deve accedere a quei file letti giusto e ti
‫imbatti in questi problemi con le autorizzazioni.
‫Quindi direi che alla fine della giornata se non riesci a risolvere questi problemi con mostrato in mod, allora non lo fa.
‫In altre parole all'interno del file docker se stai eseguendo, ad esempio, un comando di copia
‫anziché un file medico, ora puoi farlo su quello in modo che quando copi i file e loro copiano con gli utenti giusti
‫a cui sono concessi i permessi quei file che non puoi eseguire un comando.
‫Non penso ancora, anche se questa potrebbe essere una caratteristica che è in realtà qualcosa e cercare molto
‫è stata aggiunta.
‫The Ducker.
‫Quindi andiamo alla documentazione ufficiale su quella destra ingrandisci e se vado a sì.
‫Quindi se cerco luccichii non vedo nulla.
‫Ma se vado a mostrato puoi vedere dove se usi l'annuncio o la copia puoi copiarli con le
‫giuste autorizzazioni.
‫Questa è una cosa enorme che è successa un anno o due fa che ci
‫fa risparmiare molto spazio perché non dobbiamo quindi modificare le autorizzazioni sui file che il passaggio un passaggio due è se
‫è necessario modificare le autorizzazioni delle directory in fase di esecuzione come te è necessario disporre di un volume impostato su determinate autorizzazioni.
‫Ecco a cosa serve uno script di entry point.
‫Quindi, se dovessi guardare un esempio come se tornassimo qui a Docker Hub e io dovessi entrare nel mio sequel e se tu
‫andassi in uno di questi miei file Docker del sequel probabilmente scopriresti che c'è un punto di ingresso script specialmente con
‫cose come database e uno script di entry point qualcosa che può iniziare ogni
‫volta che viene avviato un contenitore e spesso in questi script di entry point vedrai cose come ho
‫bisogno che tu mostri tutto in questa directory e mod o sai un diritto globale positivo o qualcosa che
‫non è sempre la cosa più sicura da fare, ma se è necessario modificare le autorizzazioni al
‫volo, lo si farebbe all'interno dello script.
‫Ora, naturalmente, il problema in questo script è che è in esecuzione come l'utente, quindi credo che sia in esecuzione come utente
‫impostato in un file docker in modo che diventi un altro problema perché se è necessario modificare le
‫autorizzazioni sui file per renderli leggibili e leggibile dall'utente del nodo ma lo script è in esecuzione come utente
‫del nodo, quindi hai problemi perché non puoi non puoi andare al percorso.
‫Essenzialmente a quel punto.
‫Quindi direi che non esiste una soluzione facile o migliore per questo, ma le autorizzazioni sono
‫qualcosa che probabilmente potresti scrivere un'intera sezione del corso su scrivere un'intera sessione di formazione di più ore sui vari modi in cui
‫vengono gestite le autorizzazioni.
‫Un piccolo boccone lì.
‫L'ultima cosa che dirò è che so che sto andando avanti con la
‫tua domanda, ma è una cosa che penso sia emersa molto è che i permessi sui file in Linux sono solo numeri.
‫In realtà questo è in realtà un suggerimento che mi è stato dato, credo, da Phil Estes, che
‫è qualcuno che ha implementato lo spazio dei nomi che lo spazio utente presenta.
‫Mi dispiace che la funzionalità dello spazio dei nomi utente all'interno di Docker non sia abilitata per impostazione predefinita.
‫Ma se si desidera che tutti i contenitori vengano eseguiti come non root, è necessario abilitarlo.
‫Ed è stato uno di quelli che hanno contribuito ad aggiungere quella funzione e un giorno stavamo parlando e ha sottolineato
‫che conosci l'utente I. D. e il gruppo I. D. sono solo idee che puoi impostare quel numero su
‫quello che vuoi.
‫Sono solo numeri.
‫E quindi se hai bisogno di file sull'host, ad esempio, per abbinare quelli nel contenitore se hai
‫impostato tutto per I. D. numero quindi i nomi degli utenti a quel punto sono davvero irrilevanti.
‫Sono davvero io. D. che cercherà di abbinare quelle autorizzazioni.
‫Quindi in un caso in cui stavo lavorando a un progetto e dovevamo condividere i file su più contenitori,
‫ma erano tutti in esecuzione come utenti diversi e dovevamo assicurarci che le autorizzazioni corrispondessero.
‫Ci siamo semplicemente assicurati che quei file usassero i numeri giusti o I. D. per il proprietario e il gruppo e
‫poi tutto ha iniziato a funzionare perché non importava davvero che non avessimo creato l'utente sull'host, ad esempio
‫che corrispondesse a I. D. all'interno del contenitore.
‫Ci siamo appena assicurati che I. D. numeri abbinati quindi questo è un piccolo suggerimento.
‫Mi ci è voluto un po 'per capirlo e capire come funzionavano, ma in realtà
‫proprio alla fine della giornata non fa paragoni per assicurarsi che il numero delle letture, i diritti e le
‫autorizzazioni corrispondano a ciò che l'utente che esegue il comando sta facendo.
‫Buona domanda.
‫Sono contento che tu l'abbia menzionato perché non è qualcosa di cui abbiamo discusso qui
‫di recente e dovremmo parlarne di più.