[Debian] Docker + 2te Festplatte

Mulleperal

Lt. Junior Grade
Registriert
Sep. 2009
Beiträge
290
Hallo,

der Grund meines Thread ist die Frage, ob mein Weg das System einzurichten der richtige ist, oder ob es einen besseren, z.b. weniger fehleranfälligeren, gibt?
Erwartet bitte nicht wie sonst die Beantwortung von Fragen an mich innerhalb der nächsten 30 Minuten, vorraussichtlich werde ich mich am Abend diesen Thema weiter widmen.


Folgende Platten im System:

SSD mit Debian 9.6.0
HDD als Datengrab

alle Befehle werden immer im root ausgeführt.

Auf den Debian 9.6.0 wurde Docker installiert.
Laut dieser Anleitung: https://docs.docker.com/install/linux/docker-ce/debian/

Mein erster Container den ich ausprobiert habe war dieser hier:
https://hub.docker.com/r/goofball222/unifi/

mit diesen Startbefehl funktionierte alles auf anhieb:
Code:
docker run --name unifi -d \
    -p 3478:3478/udp -p 8080:8080 -p 8443:8443 \
    -p 8880:8880 -p 8843:8843 \
    goofball222/unifi


Nun möchte ich die HDD als Datengrab in Debian einbinden.

Folgendes würde ich nach Anleitung (https://blog.contabo.de/tutorials/einbinden-zusatzlicher-festplatten-unter-linux/) machen

Code:
Eingabe als root

cd
mkdir /datengrab
mount /dev/sdb1 /datengrab

Edit1:
Code:
## UUID der Festplatte auslesen:
fdisk -l

## HDD bei neustart mounten
nano /etc/fstab

# folgende Zeile hinzufügen:
UUID=b1834941-ea07-4260-8c27-596d3a3cc993       /datengrab      ext4    defaults      0       0
/Edit1

Um nun beim container Update (remove/pull) meine Eintellungen zu behalten, will ich dass die Einstellungen auf den "Volume" liegen.

Ist es richtig wenn ich das nun in der "Docker Compose" so eintrage:
(es geht im speziellen um den "Volumen-Part" in der "Docker Compose", weil der rest ist von docker hub kopiert.

Code:
version: '3'

services:
  unifi:
    image: goofball222/unifi
    container_name: unifi
    restart: unless-stopped
    network_mode: bridge
    ports:
      - 3478:3478/udp
      - 8080:8080
      - 8443:8443
      - 8880:8880
      - 8843:8843
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - /datengrab/unifi/controller/cert:/usr/lib/unifi/cert
      - /datengrab/unifi/controller/data:/usr/lib/unifi/data
      - /datengrab/unifi/controller/logs:/usr/lib/unifi/logs
    environment:
      - TZ=UTC

und wenn mir einer die Zeile "/etc/localtime ..." erklären würde wäre das auch super =)
ro deutet ja auf eine anderes land als österreich hin.

danke

VG Mulle
 
Zuletzt bearbeitet:
Moin,

alles korrekt.

:ro steht für readonly. /etc/localtime beinhaltet deine Zeitzone und wird schreibgeschützt in den Container übernommen, damit die Zeit im Container mit der deines Systems übereinstimmt.

Du solltest den Mountpoint noch in die /etc/fstab aufnehmen, damit er beim restart wieder da ist bevor docker samt Container gestartet werden.
 
Stelle sicher, dass der Wert der Umgebungsvariable TZ mit der in /etc/localtime gesetzten Zeitzone übereinstimmt. Es ist zwar nur eine Optimierung, diese zu setzen, aber wenn man es tut, sollte da schon der richtige Wert drinstehen. Könnte sonst lustige Effekte geben.
 
  • Gefällt mir
Reaktionen: Mulleperal
Stype schrieb:


Danke hab ich erledigt!

Zusätzlich hab ich per
Code:
dpkg-reconfigure tzdata
die richtige Zeitzone sichergestellt :)



Tumbleweed schrieb:
Wow!
Ich denke fast das ist mir zu weit in der Materie =O
Kann es probleme geben wenn ich mir das erst, in ein paar Wochen ändere?
Will das System mal zum laufen bringen und dann würde ich mir das ansehen.

Außerdem muss das System nicht das letzte Quäntchen Performance ausspucken ;)

Danke.
 
Du musst nur aus TZ=UTC ein TZ=Europe/Berlin machen und bist fertig. Es sei denn, du hast eine andere als diese Zeitzone eingestellt.
 
  • Gefällt mir
Reaktionen: Mulleperal
Tumbleweed schrieb:
Du bist ein Fuchs. Danke =)
Vl kannst du mir noch folgende Frage beantworten.

Die Daten vom Unifi-Controller landen ja nun bei "/datengrab/unifi/Controller/" in diversen Unterordnern.
Die "docker-compose.yml" wird selbst unter selbigen Pfad abgelegt "/datengrab/unifi/Controller/"

zum starten würde ich dann folgenden code (als root) ausführen:
Code:
cd /datengrab/unifi/controller/
docker-compose up

Mi "docker-compose up" nimmt er immer die "docker-compose.yml" aus dem aktuellen Verzeichniss, richitg?

Weil meine anderen Dienste natürlich auch eigene "docker-compose.yml"-Dateien in ihren Stammverzeichnis bekommen.

z.B. bei meinen Dienst "Unifi Video" lege ich die "docker-compose.yml"-Datei dann unter
"/datengrab/unifi/video/" ab

und starte wie folgt:
Code:
cd /datengrab/unifi/video/
docker-compose up


Danke!
 
Mulleperal schrieb:
Mi "docker-compose up" nimmt er immer die "docker-compose.yml" aus dem aktuellen Verzeichniss, richitg?
Ja, es sei denn, du nutzt den Parameter
Code:
  --project-directory PATH    Specify an alternate working directory
                              (default: the path of the Compose file)
und du kannst docker-compose.yml auch anders benennen, unter Verwendung von
Code:
  -f, --file FILE             Specify an alternate compose file
                              (default: docker-compose.yml)
 
  • Gefällt mir
Reaktionen: Mulleperal
Ich verwende das hier mal als Dokumentation für mich selbst und falls ich das System mal neu oder woanders aufsetze =P

Steps um Unifi Video zum laufen zu bekommen:

Code:
chown -R 99:100 /ssd/unifi/video/
chown -R 99:100 /datengrab/unifi/video/

"docker-compose.yml" für Unifi Video
Code:
version: '3'

services:
  unifi:
    image: pducharme/unifi-video-controller
    container_name: unifi-video
    restart: unless-stopped
    network_mode: bridge
    ports:
      - 10001:10001
      - 1935:1935
      - 6666:6666
      - 7080:7080
      - 7442:7442
      - 7443:7443
      - 7444:7444
      - 7445:7445
      - 7446:7446
      - 7447:7447
    volumes:
      - /ssd/unifi/video/data:/var/lib/unifi-video
      - /datengrab/unifi/video:/var/lib/unifi-video/videos
    environment:
      - TZ=Europe/Vienna
      - PUID=99
      - PGID=100
    cap_add:
      - SYS_ADMIN
      - DAC_READ_SEARCH



"docker-compose.yml" für Unifi Controller:
Code:
version: '3'

services:
  unifi:
    image: goofball222/unifi
    container_name: unifi
    restart: unless-stopped
    network_mode: bridge
    ports:
      - 3478:3478/udp
      - 8080:8080
      - 8443:8443
      - 8880:8880
      - 8843:8843
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - /ssd/unifi/controller/cert:/usr/lib/unifi/cert
      - /ssd/unifi/controller/data:/usr/lib/unifi/data
      - /ssd/unifi/controller/logs:/usr/lib/unifi/logs
    environment:
      - TZ=Europe/Vienna
 
Zurück
Oben