Sto eseguendo alcuni servizi all'interno dei container Docker LXC sul mio server e sto iniziando a fare davvero cose serie con loro.
Una cosa su cui non sono chiaro è come funzionano le autorizzazioni utente all'interno e all'esterno del contenitore. Se, ad esempio, sto eseguendo MySQL in un contenitore e la sua directory di dati è impostata su /data
, che è un volume Docker, in che modo le autorizzazioni all'interno e all'esterno del contenitore influiscono sui criteri di accesso?
Ovviamente, l'idea è di eseguire MySQL come proprio utente nel contenitore (ad es. mysql:mysql
) E dargli i diritti di lettura e scrittura a quella directory. Suppongo che questo sarebbe abbastanza semplice, solo chmod
nella directory, ecc. Ma come funziona al di fuori del contenitore? Ora che ho questo volume condiviso Docker chiamato "dati", come posso gestirlo?
Sto specificamente cercando di essere in grado di eseguire un utente senza privilegi al di fuori del contenitore Docker che accederà periodicamente al volume condiviso di MySQL e eseguirà il backup dei dati.
Come posso impostare autorizzazioni, utenti e gruppi in modo che un utente specifico sull'host possa leggere / scrivere file e cartelle nel volume condiviso Docker?
root
a proposito, può anche eseguire container non privilegiati . È importante che sia definita una mappatura per gli utenti .
docker
supporto per questo) il contenitore LXC può essere eseguito come utente non privilegiato. Altrimenti l'root
utente all'interno del contenitore potrebbe potenzialmente esplodere se il contenitore è configurato in modo inappropriato. Valeroot
a dire su host èroot
nel contenitore in un contenitore LXC privilegiato.