Fehlermeldung bei der Installation eines Containers

fantozzi

Ensign
Registriert
Feb. 2007
Beiträge
205
Hallo zusammen,

ich versuche Immich als Docker über docker compose zu installieren. Ich erhalte immer folgende Fehlermeldung:

failed to register layer: write /lsiopy/lib/python3.11/site-packages/matplotlib/backends/_backend_agg.cpython-311-x86_64-linux-gnu.so: no space left on device

Auf meiner Festplatte ist noch viel Speicher vorhanden.

Dateisystem Inodes IBenutzt IFrei IUse% Eingehängt auf
udev 1009426 402 1009024 1% /dev
tmpfs 1016475 837 1015638 1% /run
/dev/sda1 462384 93550 368834 21% /
tmpfs 1016475 1 1016474 1% /dev/shm
tmpfs 1016475 3 1016472 1% /run/lock
tmpfs 1012507 14 1012493 1% /tmp
/dev/sdb1 48840704 1439524 47401180 3% /
tmpfs 192799 19 192780 1% /run/user/100

Habt ihr evtl. eine Idee woran ich hier scheitere?
 
-h, ich kann nicht flüssig im Kopf in Gigabyte umwandeln ;), und vielleicht ordentlich formatieren, dann kann man die ausgabe auch lesen :)

hast du da mal während dessen beobachtet welche Partition voll wird? WIrd ja hinterher direkt wieder frei gemacht
watch -n 1 "df -h"
 
Bitte mal die Ausgabe von df -h lesbar hier posten, d.h.
Code:
$ df -h
Filesystem                        Type      Size  Used Avail Use% Mounted on
tmpfs                             tmpfs     3,1G  2,9M  3,1G   1% /run
efivarfs                          efivarfs  128K   92K   32K  75% /sys/firmware/efi/efivars
/dev/mapper/ubuntu--vg-ubuntu--lv ext4      915G  548G  321G  64% /
tmpfs                             tmpfs      16G  3,0M   16G   1% /dev/shm
 
  • Gefällt mir
Reaktionen: dms und madmax2010
madmax2010 schrieb:
-h, ich kann nicht flüssig im Kopf in Gigabyte umwandeln ;), und vielleicht ordentlich formatieren, dann kann man die ausgabe auch lesen :)

hast du da mal während dessen beobachtet welche Partition voll wird? WIrd ja hinterher direkt wieder frei gemacht
watch -n 1 "df -h"
Diesen Befehl kannte ich als Neuling noch nicht. Er konnte mir jedoch sehr helfen, da ich während der Installation beobachten konnte, wie knapp 2 GB auf die sd1 installiert werden sollte, und diese wurde in der Tat dann voll. Ich habe Openmediavault 8 GB bei der Installation der VM vergeben. Ich dachte dies wäre ausreichend. Aber was genau soll denn bei der Installation des Containers auf der sd1 gespeichert werden?
 
fantozzi schrieb:
Aber was genau soll denn bei der Installation des Containers auf der sd1 gespeichert werden?
Poste mal die Ausgabe (lesbar ;)) von docker images. Es gibt Docker Images, die schon Richtung 1-2GB gehen. Und wenn dann der Container installiert wird, dann wird noch was mit eingerichtet. Keine Ahnung, was da alles bei immich gemacht wird.
Ergänzung ()

ok, das wird schon viel Platz brauchen
Code:
immich-server:
    container_name: immich_server

  immich-microservices:
    container_name: immich_microservices

  immich-machine-learning:
    container_name: immich_machine_learning

  redis:
    container_name: immich_redis

  database:
    container_name: immich_postgres
    image: registry.hub.docker.com/tensorchord/pgvecto-rs:pg14-v0.2.0@sha256:90724186f0a3517cf6914295b5ab410db9ce23190a2d9d0b9dd6463e3fa298f0
 
Code:
REPOSITORY                      TAG           IMAGE ID       CREATED        SIZE
lscr.io/linuxserver/syncthing   latest        8c45975ab2ca   6 days ago     52.3MB
redis                           latest        1a83fd5edeed   8 days ago     117MB
ghcr.io/gethomepage/homepage    v0.8.13       0c71f4588511   3 weeks ago    175MB
portainer/portainer-ce          latest        a3f85c245ec3   5 weeks ago    293MB
tensorchord/pgvecto-rs          pg14-v0.2.0   2e2cb40c55b8   3 months ago   676MB
 
fantozzi schrieb:
udev 1009426 402 1009024 1% /dev
tmpfs 1016475 837 1015638 1% /run
/dev/sda1 462384 93550 368834 21% /
tmpfs 1016475 1 1016474 1% /dev/shm
tmpfs 1016475 3 1016472 1% /run/lock
tmpfs 1012507 14 1012493 1% /tmp
/dev/sdb1 48840704 1439524 47401180 3% /
tmpfs 192799 19 192780 1% /run/user/100
warum sind eigentlich /dev/sda1 und /dev/sdb1 beide nach / gemountet?
 
  • Gefällt mir
Reaktionen: Yaakoss und madmax2010
Hmmm...also ich habe OMV in einer VM als Docker auf sda1 installiert. Die externe Festplatte sdb1 habe ich dann komplett durchgereicht, um dort dann meine Daten wie Fotos zu speichern.
 
Kleiner Hinweis zu Portainer, bin auch gestolpert. Die neuen Builds wurden 'ausgelagert' und das latest Tag ist jetzt der 2.19.x als LTS. Das neue Zeug, >2.20.x wird jetzt unter dem sts Tag verteilt.

Hatte mich gewundert, warum für 2.20.x geworben wurde, ich aber beim alten build blieb ;).
 
STS bedeutet Short-Term-Support, richtig? Die neusten Features benötige ich jetzt nicht. Ich bin ja froh, wenn überhaupt etwas funktioniert. Die Lernkurve ist schon recht steil :-)
Ergänzung ()

0x8100 schrieb:
warum sind eigentlich /dev/sda1 und /dev/sdb1 beide nach / gemountet?
Habe ich dadurch einen Nachteil?
 
Zuletzt bearbeitet:
Unter windows würde das bedeuten, dass beide Datenträger als "Laufwerk C" eingebunden sind. du kannst sdb1 unter /home/fantozzi einbinden, dann liegt dein home ordner darauf. So jetzt gerade ist das eher chaotisch
 
Also derzeit habe ich zwei Baustellen:

1. Immich als Docker kann ich nicht installieren, weil offensichtlich Daten auf sda1 installiert werden. Welche Daten und warum, weiß ich nicht, da ich davon ausgegangen bin, dass alle Daten eines Containers auf die sdb1 gepackt werden. Lösung wäre hier Platz auf die sda1 zu schaffen.

2. Meine über OMV freigegebenen Ordner kann ich seit heute nicht mehr anklicken (siehe Screenshot). Meine Frau kommt über ihren Laptop noch an die Ordner.


Screenshot Media.jpg
 
fantozzi schrieb:
Also derzeit habe ich zwei Baustellen:

1. Immich als Docker kann ich nicht installieren, weil offensichtlich Daten auf sda1 installiert werden. Welche Daten und warum, weiß ich nicht, da ich davon ausgegangen bin, dass alle Daten eines Containers auf die sdb1 gepackt werden. Lösung wäre hier Platz auf die sda1 zu schaffen.
Wenn man Docker einsetzt, dann ist es schon ratsam sich mit der Materie zu beschäftigen. Schon alleine wg. Backup usw. Spannend wird es dann noch, wenn man irgendeinen Container auf neue Version hochziehen will. Denn hier kann auch zu Problemen kommen.

sda1 ist ja deine System-Partition? Wenn ja, dann wird das dann immer genommen, wenn man Docker Container hochfährt. Man kann es auch umgehen. Dann muss man aber wissen, was man tut.
Ergänzung ()

Ich habe Immich nicht im Einsatz. Habe mir aber nur docker-compose angesehen.
 
  • Gefällt mir
Reaktionen: s1ave77
fantozzi schrieb:
Welche Daten und warum, weiß ich nicht, da ich davon ausgegangen bin, dass alle Daten eines Containers auf die sdb1 gepackt werden. Lösung wäre hier Platz auf die sda1 zu schaffen.
Genau.

Es gilt zu verstehen, dass Docker 2-teilig ist. Die Container stellen die Funktionalität bereit, sind aber vergänglich (werden bei neuen Versionen neugebaut). Die werden im System gespeichert, ist auch gut so.

Die persistenten Daten, Konfigs und einiges andere, worauf man Zugriff braucht, werden in Volumes 'ausgelagert'. Bei mir verweisen die auf einen Docker-Ordner im User-Ordner, wo die Container diese Daten ablegen können.

So starten die Container immer mit den aktuellen Infos und ich brauche nur die Volumes zu sichern.

Also Platz erweitern für die Container. Dann läuft das auch :).
 
Zuletzt bearbeitet von einem Moderator: (Gramma..oderso)
oicfar schrieb:
Wenn man Docker einsetzt, dann ist es schon ratsam sich mit der Materie zu beschäftigen. Schon alleine wg. Backup usw. Spannend wird es dann noch, wenn man irgendeinen Container auf neue Version hochziehen will. Denn hier kann auch zu Problemen kommen.

sda1 ist ja deine System-Partition? Wenn ja, dann wird das dann immer genommen, wenn man Docker Container hochfährt. Man kann es auch umgehen. Dann muss man aber wissen, was man tut.
Ergänzung ()

Ich habe Immich nicht im Einsatz. Habe mir aber nur docker-compose angesehen.
Also ich beschäftige mich schon seit einigen Wochen mit Proxmox, Docker und LXC. Aber als Anfänger in Sachen Linux sind diese Themen natürlich nicht ganz so trivial für mich.

Wäre dann aus einer Compose.yml ersichtlich welche Daten auf die Systemdisk (in meinem Falle die sda1) gespeichert werden? Ich bin nur überrascht, dass Immich versucht rund 2 GB auf die Systemplatte zu schreiben.

Nun schaue ich mal, wie ich den Storage einer VM in Proxmox im nachhinein noch verändern kann.
 
  • Gefällt mir
Reaktionen: oicfar
fantozzi schrieb:
Also ich beschäftige mich schon seit einigen Wochen mit Proxmox, Docker und LXC. Aber als Anfänger in Sachen Linux sind diese Themen natürlich nicht ganz so trivial für mich.
DAs klingt aber schon gut, wenn du dich damit beschäftigst.
fantozzi schrieb:
Wäre dann aus einer Compose.yml ersichtlich welche Daten auf die Systemdisk (in meinem Falle die sda1) gespeichert werden? Ich bin nur überrascht, dass Immich versucht rund 2 GB auf die Systemplatte zu schreiben.
Na das Image, welches für den Container verwendet wird, landen immer auf der Systempartition. Viele Container erstellen Volumes. Diese werden auch immer auf der Systempartition (/var/lib/docker/volumes) angelegt.

Z.B. hier ein Auszug aus meiner Paperless-ngx Konfiguration
Code:
db:
    image: docker.io/library/postgres:15
    restart: unless-stopped
    volumes:
      - ./db:/var/lib/postgresql/data
Für die DB wird kein volume erstellt sondern die db wird in ./db/, d,h, da wo ich den Container hochfahre, angelegt. Macht es für mich einfacher wg. Umzug in andere VM. Volume umziehen geht auch. ;) Aber die DB ziehe ich eh noch um, da ich eine PG16 für alle meine Dienste am Laufen habe. Da muss Docker nicht noch eine DB nur für sich starten. Verbraucht nur mehr Ressourcen.

Man muss sich im Prinzip anschauen, was in docker-compose gemacht wird und dann für sich entscheiden, wie möchte ich es machen. Wenn man dann aber ein Update von docker-compose.yaml macht, dann muss man es wieder anpassen.

Alles hat seine Vor-/Nachteile.
fantozzi schrieb:
Nun schaue ich mal, wie ich den Storage einer VM in Proxmox im nachhinein noch verändern kann.
https://pve.proxmox.com/wiki/Resize_disks

Bei Proxmox ist es immer besser mehr Storege initial zu geben. Und die VM verbraucht nicht gleich alles. Erst weniger und dann wächst es langsam. Ich habe bei mir 9 VMs (je 32GB) und 2 LXC Container (32GB, 8GB). Und der reale Verbrauch ist
1717184953569.png

D.h. 19GB im Schnitt.
 

Anhänge

  • 1717184629563.png
    1717184629563.png
    3,3 KB · Aufrufe: 55
Zuletzt bearbeitet:
Der Pfad für die Docker Images Dateien heißt im Normalfall "Docker Root Dir: /var/lib/docker", richtig?
 
Unter /var/lib/docker ist alles. Schau dir mit ls an, was da drin ist. Es gibt auch Anleitungen, wenn man das alles woanders verschieben kann.

Würde ich es machen? Nein. Ich halte mein gesamtes Setup so einfach wie möglich. Und wenn ich was mache, dann dokumentiere ich es. Um es nicht zu vergessen oder nachzuvollziehen, was ich wie geändert habe.
 
Sorry für meine profane Frage, aber dieser Pfad /var/lib/docker liegt dann immer auf der Systemplatte?
 
Ich habe nun versucht die sda1 zu vergrößern. In der GUI habe ich unter Hardware die Disk erweitert um 24GB. Dann in der Console eine Shell eröffnet und dann parted /dev/sda1 und anschließend resizepart 1 100% eingeben. Allerdings erhalte ich dann folg. Fehlermeldung (siehe Screenshot).
Resize.jpg
 
Zurück
Oben