Unsere Arbeitplatzrechner haben üblicherweise relativ knapp dimensionierte
Dateisysteme. Wir wollen damit verhindern, dass sich “Müll” ansammelt der
dann unsere Sicherungen aufbläht.
Docker braucht einen Speicherbereich für die Images. Der muß relativ groß sein.
Wir legen diesen separat an und nehmen ihn von den Sicherungen aus.
Speicherbereich anlegen
Belegung ermitteln
123456789101112131415161718192021
# sudo vgdisplay ubuntu-vg
--- Volume group ---
VG Name ubuntu-vg
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 8
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 5
Open LV 5
Max PV 0
Cur PV 1
Act PV 1
VG Size 929,49 GiB
PE Size 4,00 MiB
Total PE 237950
Alloc PE / Size 95744 / 374,00 GiB
Free PE / Size 142206 / 555,49 GiB
VG UUID SnH8Nq-Pe3a-Reoz-l5zt-AFpl-e4ZF-lvfDga
Bei mir sind über 500G verfügbar!
Größe festlegen
Ich verwende 50G für den Docker-Speicherbereich!
Die Größe muß geringer sein als der verfügbare Bereich!
als Speicherbereich der zuvor angelegte Bereich “/data/docker” verwendet wird
Kurztest
1234567
$ sudo docker run -it alpine /bin/sh
/ # cat /etc/issue
Welcome to Alpine Linux 3.16
Kernel \r on an \m (\l)
/ # exit
$
Benutzer für Docker freischalten
ACHTUNG: Ich rate von
dieser Freischaltung dringend ab, u.a. weil
dann sehr leicht beliebige Programme unter der
Benutzerkennung “root” ausgeführt werden können!
Wenn Du den vorgenannten Satz nicht 100%ig verstehst,
dann überspringe bitte diesen Abschnitt!
Mit den nachfolgenden Schritten kann ein Benutzer
für die Nutzung von Docker freigeschaltet werden.
Dadurch muß nicht jedesmal sudo docker ...
eingegeben werden.
1
# sudo usermod -aG docker uli
Danach: Ab- und wieder Anmelden!
Nachkontrolle:
12
$ id
uid=1000(uli)gid=1000(uli)Gruppen=1000(uli),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),120(lpadmin),131(lxd),132(sambashare),139(docker)
Test
1234567
$ docker run -it alpine /bin/sh
/ # cat /etc/issue
Welcome to Alpine Linux 3.16
Kernel \r on an \m (\l)
/ # exit
$
Problem
Mit nachfolgendem Befehl wird “uli” zu “root” ohne die Eingabe von einem Kennwort:
123456789
$ docker run -it --privileged --net host --ipc=host -v /:/host alpine chroot /host
groups: cannot find name for group ID 11
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.
root@uli-desktop:/# id
uid=0(root) gid=0(root) groups=0(root),1(daemon),2(bin),3(sys),4(adm),6(disk),10(uucp),11,20(dialout),26(tape),27(sudo)
root@uli-desktop:/# exit
$
Konkret wird dies zu einer Gefahr, wenn man
Shell-Skripte “untergeschoben” bekommt. Eigentlich
muß man jedes Skript vorher sichten um sicher
zu sein, dass es nix böses macht!
Änderungen
2023-01-12 – Warnung bei Docker-Gruppe deutlicher hervorgehoben