Docker + Samba

10. März 2019

Wie schon geschrieben, bin ich kein großer Fan von Konfigurationsdateien. Deshalb habe ich es mir auch einfach gemacht und habe Samba nicht auf dem Host, sondern über ein Docker-Image laufen. Dafür hat ein netter Mensch ein Docker-Image erstellt, mit dem dies sehr einfach möglich ist. Nachfolgend mein docker-compose.yml

version: "3"

services:
  samba: 
    command: "-s \"stefan;/media/stefan;yes;no;no\" -s \"nas;/media/nas;yes;no;no\""
    environment: 
      - "NMBD=True"
      - "RECYCLE=False"
      - "USER=MeinBrutalerBenutzername;MeinBrutalesPasswort"
    hostname: fileserver
    image: dperson/samba
    network_mode: host
    restart: always
    ports:
      - "137:137/udp"
      - "138:138/udp"
      - "139:139/tcp"
      - "445:445/tcp"
    volumes: 
      - "/media/stefan:/media/stefan"
      - "/media/nas:/media/nas"

Die komplette Beschreibung zu den einzelnen Parametern ist unter https://github.com/dperson/samba.

Was macht das nun? Es werden zwei Lesen/Schreiben-Freigaben erstellt: stefan und nas. Voraussetzung ist natürlich, man kennt den brutal komplizierten Benutzernamen und noch kompliziertere Passwort. Und ja, meine Produktivdaten sind anders 😉.

docker-compose up -d

Damit rennt das Ding.

Kommentare

  • Sönke sagt:

    Hi Stefan,

    danke für die tolle Übersicht.

    Ich bin dabei Samba zu konfigurieren was auch soweit mit deiner Config geklappt hat. Einzig und alleine kann ich die Daten auf dem Share nicht bearbeiten oder ändern. Eigentlich ist es ja r/w aber ich kann sie nur lesen. Hast du eine Idee, welchen Fehler ich in meiner config hab?

    samba:
    command: „-s \“downloads;/downloads;yes;no;no\“ -s \“windows;/windows;yes;no;no\““
    environment:
    – „NMBD=True“
    – „RECYCLE=False“
    – „USER=krasserusername;superultrakrassespasswort“
    hostname: theroenke
    image: dperson/samba
    network_mode: host
    restart: always
    ports:
    – „137:137/udp“
    – „138:138/udp“
    – „139:139/tcp“
    – „445:445/tcp“
    volumes:
    – „/home/soenke/docker/config/samba:/config“
    – „/downloads:/downloads“

  • Stefan sagt:

    Hey Sönke,

    gute Frage. Ich würde an deiner Stelle schauen, ob du innerhalb des Docker Containers die Schreibrechte hast. Falls nicht, würde ich prüfen, ob der Benutzer, mit dem der Docker Daemon läuft, die entsprechenden Rechte auf die Verzeichnisse hat.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert