Korzystam z niektórych usług w kontenerach Docker LXC na moim serwerze i zaczynam robić z nimi poważne rzeczy.
Nie jestem pewien, w jaki sposób działają uprawnienia użytkownika wewnątrz i na zewnątrz kontenera. Jeśli na przykład uruchamiam MySQL w kontenerze, a jego katalog danych jest ustawiony na /data
wolumin Docker, w jaki sposób uprawnienia wewnątrz i na zewnątrz kontenera wpływają na zasady dostępu?
Oczywiście pomysł polega na uruchomieniu MySQL jako własnego użytkownika w kontenerze (tj. mysql:mysql
) I nadaniu mu prawa do odczytu i zapisu w tym katalogu. Zakładam, że byłoby to dość proste, po prostu chmod
katalogowanie itp. Ale jak to działa poza kontenerem? Teraz, gdy mam ten udostępniony wolumin Docker o nazwie „dane”, jak zarządzać kontrolą dostępu do niego?
W szczególności szukam możliwości uruchomienia nieuprzywilejowanego użytkownika poza kontenerem Docker, który będzie okresowo uzyskiwał dostęp do udostępnionego woluminu MySQL i tworzył kopie zapasowe danych.
Jak skonfigurować uprawnienia, użytkowników i grupy, aby określony użytkownik na hoście mógł czytać / zapisywać pliki i foldery w woluminie udostępnionym Docker?
root
nawiasem mówiąc, może również uruchamiać nieuprzywilejowane kontenery . Ważne jest to, że zdefiniowane jest mapowanie dla userns .
docker
obsługiwane) kontener LXC może być uruchamiany jako użytkownik nieuprzywilejowany. W przeciwnym razieroot
użytkownik wewnątrz kontenera może potencjalnie wybuchnąć, jeśli kontener zostanie niewłaściwie skonfigurowany. Tj.root
Na hoście znajduje sięroot
w kontenerze w uprzywilejowanym kontenerze LXC.