2016-03-21 8 views

risposta

4

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.

Problemi correlati