GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Docker Volume erstellen Berechtigungen Linux

Gemäß der Docker-Compose- und Docker-Run-Referenz ist der user Die Option legt die Benutzer-ID (und Gruppen-ID) des Prozesses fest, der im Container ausgeführt wird. Wenn Sie dies auf 1000:1000 setzen , Ihr Webserver kann sich nicht mehr an Port 80 binden. Für die Bindung an einen Port unter 1024 sind Root-Berechtigungen erforderlich. Das bedeutet, dass Sie den hinzugefügten user: 1000:1000 entfernen sollten Anweisung erneut.

Um das Berechtigungsproblem mit dem freigegebenen Volume zu lösen, müssen Sie den Eigentümer des Verzeichnisses ändern. Führen Sie chown 1000:1000 /path/to/volume aus . Dies kann innerhalb des Containers oder direkt auf dem Hostsystem ausgeführt werden. Die Änderung ist dauerhaft und sofort wirksam (kein Neustart des Containers erforderlich).

Im Allgemeinen denke ich, dass sich das Volume in einem Unterverzeichnis befinden sollte, z. B.

  volumes:
    - ./public:/var/www/html

Stellen Sie sicher, dass ./public dem richtigen Benutzer gehört . Wenn Sie den Container starten und das Verzeichnis nicht existiert, erstellt Docker es für Sie. In diesem Fall gehört das Verzeichnis root und Sie müssen den Besitz wie oben beschrieben manuell ändern.

Alternativ können Sie den Webserver auch als unprivilegierter Benutzer ausführen (user: 1000:1000 ), lassen Sie den Server auf Port 8080 lauschen und ändern Sie das Routing auf

 ports:
    - "8080:8080"

Linux
  1. Linux-Berechtigungen 101

  2. Was ist ein Linux-Benutzer?

  3. Was ist Umask unter Linux

  4. Grundlagen der Linux-Dateiberechtigungen

  5. Aktualisieren von Docker auf Amazon Linux AMI

Linux-Dateiberechtigungen:Alles, was Sie wissen müssen

Erste Schritte mit Docker Compose unter Linux

So führen Sie Docker als Nicht-Root-Benutzer in Linux aus

So ändern Sie den Benutzer unter Linux

So installieren Sie Docker und Docker Compose unter Linux

Grundlegende Linux-Verzeichnisberechtigungen und wie man sie überprüft