Postgres, mariadb, mysql non utilizzare USER. Presumibilmente le immagini ufficiali vengono esaminate per aderire al documento sulle migliori pratiche, che può essere utilizzato da requires USER. Perché?Perché le immagini ufficiali di Docker non utilizzano USER come richiesto dalle "migliori pratiche"
Perché le immagini ufficiali di Docker non utilizzano USER come richiesto dalle "migliori pratiche"
risposta
Fondamentalmente, USER è non possibile nelle immagini ufficiali. In conflitto con il requisito che "Un utente principiante dovrebbe essere in grado di docker run official-image bash
senza bisogno di conoscere --entrypoint". Se non si dispone di root, non è possibile modificare i file di configurazione, installare pacchetti come strace ... o, in particolare, correggere UID nei volumi. Realisticamente, lo stile di immagine ufficiale è considerato (a) migliore pratica. (Così l'userguide finestra mobile deve mettere l'accento sulla esecuzione di servizi come non root e meno sulla USER specificamente)
IMO questo è un problema. Gli esempi popolari da cui puoi imparare non mostrano la necessità di impostare UID fissi. In caso contrario, se si aggiorna con un'immagine di base che aggiunge un altro utente, è necessario intervenire manualmente. Le best practice dicono che dovresti prendere in considerazione l'impostazione di UID fissi, ma non mostrano nemmeno un esempio. Quindi gli esempi prominent di simple Dockerfiles che utilizzano USER non impostano UID fissi. Le immagini ufficiali non impostano nemmeno gli UID fissi - fingendo che questo non sia un problema - ma poi i volumi di dati a forza bruta con chown
, perché i loro script di un punto di accesso vengono eseguiti come root. Non molto impressionante.
Tecnicamente, i Dockerfiles ufficiali potrebbero essere fissati con l'aggiunta di ancora più chown
e UID lo swap sul Dockerfile, ma che sembra indesiderabile.
Suppongo che l'altra alternativa sia un aggiornamento dipendente dal percorso. Cioè, mantieni lo chown
fino a quando tutti hanno eseguito gli aggiornamenti automatici su UID fissi (un paio di mesi?), E poi rilasciarlo.
- 1. Gulpfile.js guardano le migliori pratiche
- 2. Docker, file statici delle app Web. Migliori pratiche?
- 3. Le migliori pratiche per l'API stored procedure?
- 4. Come visualizzare il messaggio di commit dalle immagini docker
- 5. Docker utilizzando gosu vs USER
- 6. Le migliori pratiche per l'utilizzo di window.onload
- 7. Le migliori pratiche quando si definiscono le variabili di istanza
- 8. Migliori pratiche .NET per le connessioni MongoDB?
- 9. Migliori pratiche di replica MySQL
- 10. Migliori pratiche Android - visualizzazioni/attività
- 11. PHP include le migliori pratiche sull'estensione file
- 12. Definizione blocchi di Objective-C come proprietà - le migliori pratiche
- 13. WPF themeing migliori pratiche
- 14. Le migliori pratiche per il modello DAO?
- 15. Le migliori pratiche? iphone: sincronizzazione dati
- 16. Le migliori pratiche per le connessioni mobili persistenti su Android?
- 17. Migliori pratiche di distribuzione del database
- 18. Quali sono le migliori pratiche per la codifica delle versioni di Docker Hub
- 19. Email che invia le migliori pratiche?
- 20. Le migliori pratiche sull'uso asincrona/attendono
- 21. Le migliori pratiche sulla associazione vuoto belongs_to
- 22. Le migliori pratiche per mantenere una sessione di MgO
- 23. Partecipanti reattivi a Meteor: le migliori pratiche?
- 24. L'unità Sencha Touch prova le migliori pratiche?
- 25. Django Rest Framework: migliori pratiche?
- 26. migliori pratiche con le sessioni (Gorilla/sessioni)
- 27. Migliori pratiche di Google Maps?
- 28. migliori pratiche di progettazione JSON
- 29. Le migliori pratiche SQLite su iPhone
- 30. Quali sono le migliori pratiche MEF?