‫Brandon ist bei der ersten.
‫Nächste Frage hier verklagen gegen Benutzer.
‫Wie bevorzugen Sie es, Benutzer ohne Rootberechtigung in Containern zu verwenden und Dateiberechtigungen für oder Hossain
‫beizubehalten?
‫Was ist die aktuelle Best Practice, so Berechtigungen in Docker.
‫Es ist nicht fair zu sagen, dass Docker selbst mit den Dateien, die Sie in
‫einem Container ausführen, sehr frustrierend sein kann, insbesondere wenn Sie Bindungs-Mounts verwenden. Kombinieren Sie daher die Berechtigungen der Host-Dateien mit den Dingen,
‫die im Container ausgeführt werden, und das kann häufig der Fall sein Dies hat dazu geführt, dass Sie sich
‫die Haare aus dem Leib gerissen haben und ein bisschen verrückt geworden sind. Einige meiner schwierigsten Projekte waren, als wir den
‫gemeinsamen Dateispeicher für mehrere Container auf verschiedenen Hosts brauchten, die alle mit den richtigen Berechtigungen und
‫den geringsten Rechten auf dieselben Dateien zugreifen Nicht-Administrator-Benutzer Rechte von Nicht-Root-Benutzern.
‫Diese können also sehr knifflig sein.
‫Ich würde User versus Go sagen.
‫Wenn Sie mich also nach dem Benutzer Brandon fragen, gehe ich davon aus, dass Sie im DR-Image-Gebäude darüber sprechen,
‫da sich die Benutzer hier richtig beworben haben.
‫Und es funktioniert in der Regel besser als Sue, wenn sie einen Hund oder ein Bild baut.
‫Das ist zumindest mein Verständnis dafür, warum go Sue oft in Docker-Images zum Erstellen verwendet wird, und
‫ich weiß nicht genau, warum ich es wahrscheinlich vor einigen Jahren gelernt und es dann schnell
‫vergessen habe.
‫Ich gehe also davon aus, dass es sich bei Ihrer Frage wirklich
‫um das Erstellen von Images handelt und ich würde sagen, dass der Benutzer die beste Vorgehensweise für die Verwendung von Docker-Dateizeilen ist, wenn Sie sich in einem Ausführungsbefehl
‫befinden und Berechtigungen ändern müssen An einem bestimmten Teil dieses Befehls
‫run ist dies sinnvoll, da Sie möglicherweise als Root-Benutzer arbeiten müssen, aber nicht immer innerhalb dieses Befehls run.
‫Vielleicht ist das der Moment, in dem Sie sich dafür entscheiden, Dinge zu durchlaufen und andere Dinge richtig zu machen.
‫Daher denke ich, dass bei Menschen, die über Berechtigungen verfügen, im Wesentlichen nicht die Dateien
‫im Image passieren, sondern die Dateien zur Laufzeit.
‫Sobald Ihr Container gestartet ist, nehmen wir an, Sie haben eine Node-App und diese Node-App
‫wird ausgeführt. Sie ist ein Benutzerknoten und hat ein Benutzer-Upload-Verzeichnis. Diese Dateien werden dann auf dem Host gespeichert und werden
‫als die gespeichert Benutzerknoten und weil das ist, was Knoten ausgeführt wird, wird es ausgeführt, und dann haben Sie einen anderen Prozess, möglicherweise
‫einen anderen Container und verwenden ein freigegebenes Volume oder etwas oder einen Kaufbetrag, und
‫das läuft nicht als derselbe Benutzer und muss auf diese Dateien zugreifen, lesen richtig und Sie
‫bekommen in diese Probleme um Berechtigungen.
‫Also würde ich sagen, dass es am Ende des Tages nicht klappt, wenn man diese Probleme mit dem Mod nicht lösen kann.
‫Mit anderen Worten, wenn Sie in der Docker-Datei zum Beispiel einen Kopierbefehl anstelle
‫einer Doktordatei ausführen, können Sie dies jetzt tun, damit beim Kopieren von Dateien die richtigen Benutzer mit den ihnen erteilten
‫Berechtigungen zum Kopieren aufgefordert werden diese Dateien können Sie keinen Befehl ausführen.
‫Ich denke noch nicht, obwohl das eine Funktion sein könnte, die tatsächlich etwas ist, und viel
‫davon hinzugefügt wurde.
‫Der Ducker.
‫Also gehen wir zu der offiziellen Dokumentation auf der rechten Seite und vergrößern, wenn ich gehe, ja.
‫Wenn ich also schimmernd suche, sehe ich nichts.
‫Aber wenn ich zur Ausstellung gehe, können Sie sehen, wo Sie, wenn Sie die Anzeige oder die Kopie verwenden, diese mit den richtigen
‫Berechtigungen kopieren können.
‫Das ist eine gewaltige Sache, die vor ein oder zwei Jahren passiert ist und
‫uns viel Platz spart, da wir dann die Berechtigungen für die Dateien nicht ändern müssen. Schritt eins Schritt zwei
‫ist, wenn Sie Berechtigungen für Verzeichnisse zur Laufzeit wie Sie ändern müssen Ein Volume muss auf bestimmte Berechtigungen festgelegt sein.
‫Dafür ist ein Einstiegspunkt-Skript gedacht.
‫Wenn Sie sich also ein Beispiel ansehen würden, wie wenn wir hier nur zu Docker Hub zurückkehren und ich in meine
‫Fortsetzung gehen würden, und wenn Sie zu einer meiner Docker-Folgedateien gehen würden, würden Sie wahrscheinlich feststellen, dass es einen
‫Einstiegspunkt gibt Skript, insbesondere mit Dingen wie Datenbanken und einem Einstiegspunktskript, das jedes
‫Mal gestartet werden kann, wenn ein Container gestartet wird. In diesen Einstiegspunktskripten müssen Sie häufig alles
‫in diesem Verzeichnis anzeigen und ändern, oder Sie müssen es tun a plus right global oder etwas,
‫was nicht immer das Sicherste ist, aber wenn Sie die Berechtigungen im laufenden Betrieb ändern müssen,
‫würden Sie dies innerhalb des Skripts tun.
‫Das Problem in diesem Skript ist natürlich, dass es als der Benutzer ausgeführt wird, von dem ich glaube, dass es als der Benutzer
‫ausgeführt wird, den Sie in einer Docker-Datei festgelegt haben, sodass es zu einem weiteren Problem wird, wenn Sie die
‫Berechtigungen für Dateien ändern müssen, um sie lesbar und lesbar zu machen Für den Knotenbenutzer lesbar, aber das Skript wird
‫als Knotenbenutzer ausgeführt. Sie haben dann Probleme, weil Sie nicht zur Route wechseln können.
‫Im Wesentlichen an diesem Punkt.
‫Daher würde ich sagen, dass es keine einfache oder beste Lösung dafür gibt, aber
‫Berechtigungen können Sie wahrscheinlich in einem ganzen Kursabschnitt über die verschiedenen Arten des Umgangs mit Berechtigungen für eine ganze
‫mehrstündige Schulungssitzung schreiben.
‫Ein kleiner Leckerbissen da.
‫Das Letzte, was ich sagen werde, ist, dass ich weiß, dass ich auf
‫Ihre Frage eingehe, aber es ist etwas, von dem ich denke, dass es sich bei den Dateiberechtigungen in Linux um Zahlen handelt.
‫Tatsächlich ist dies ein Tipp, den ich von Phil Estes erhalten habe, der
‫den Namespace implementiert hat, um den es bei Benutzernamen geht.
‫Es tut mir leid, dass die Benutzer-Namespace-Funktion in Docker standardmäßig nicht aktiviert ist.
‫Wenn Sie jedoch möchten, dass alle Container als Nicht-Root ausgeführt werden, aktivieren Sie dies.
‫Und er war einer derjenigen, die geholfen haben, dieses Feature hinzuzufügen, und wir sprachen eines Tages und er wies darauf hin, dass
‫Sie den Benutzer I kennen. D. und die Gruppe I. D. Es sind nur Ideen, wie Sie diese Zahl nach
‫Belieben einstellen können.
‫Das sind nur Zahlen.
‫Wenn Sie also Dateien auf dem Host benötigen, die zum Beispiel mit denen im Container übereinstimmen, setzen Sie
‫einfach alles mit I. D. nummer dann sind benutzernamen an dieser stelle wirklich irrelevant.
‫Sie ist wirklich das Ich. D. dass es für die Übereinstimmung dieser Berechtigungen aussehen wird.
‫In einem Fall, in dem ich an einem Projekt arbeitete und wir Dateien für mehrere Container freigeben mussten, diese
‫jedoch alle als unterschiedliche Benutzer ausgeführt wurden, mussten wir sicherstellen, dass die Berechtigungen übereinstimmten.
‫Wir haben wirklich nur manuell sichergestellt, dass diese Dateien die richtigen Nummern oder I verwenden. D. für den Besitzer und die Gruppe und dann fing
‫alles an zu funktionieren, weil es nicht wirklich wichtig war, dass wir nicht den Benutzer auf dem Host erstellt haben, der
‫zum Beispiel zu I passte. D. im Behälter.
‫Wir haben gerade dafür gesorgt, dass die I. D. Zahlen stimmen überein, das ist also ein kleiner Tipp.
‫Es hat eine Weile gedauert, bis ich das herausgefunden und verstanden habe, aber
‫letztendlich macht es keinen Vergleich, um sicherzustellen, dass die Anzahl der Lesevorgänge sowie die Rechte und Berechtigungen
‫mit denen des Benutzers übereinstimmen, der den Befehl ausführt macht.
‫Gute Frage.
‫Ich bin froh, dass Sie das angesprochen haben, denn darüber haben wir in letzter Zeit
‫nicht gesprochen, und wir sollten mehr darüber reden.