Beheben Sie das Problem, dass das vom Docker bereitgestellte Verzeichnis nicht gelesen und geschrieben werden kann

Beheben Sie das Problem, dass das vom Docker bereitgestellte Verzeichnis nicht gelesen und geschrieben werden kann

Verwenden Sie den folgenden Befehl, um einen Container zu erstellen und das lokale Verzeichnis /home/dock/Downloads in /usr/Downloads im Container einzubinden:

[root@docker ~]# docker run -it -v /home/dock/Downloads:/usr/Downloads ubuntu /bin/bash

Nach dem Erstellen auf Centos treten die folgenden Probleme auf

root@637fe9ea94f0:/usr/Downloads# ls
ls: Verzeichnis „.“ kann nicht geöffnet werden: Berechtigung verweigert

Lösung:

Der Grund ist, dass das Sicherheitsmodul Selinux in CentOS7 die Berechtigungen deaktiviert hat.

Es gibt mehrere Möglichkeiten, das Problem fehlender Berechtigungen für das bereitgestellte Verzeichnis zu lösen:

1. Wenn Sie den Container ausführen, fügen Sie dem Container Berechtigungen hinzu und fügen Sie den Parameter --privileged=true hinzu:

docker run -i -t -v /soft:/soft --privileged=true 637fe9ea94f0 /bin/bash

2. Selinux vorübergehend ausschalten:

0

3. Fügen Sie Selinux-Regeln hinzu und ändern Sie den Sicherheitstext des zu mountenden Verzeichnisses

Ergänzung: Nachdem Docker den Ordner gemountet hat, ist er nicht mehr zugänglich und verfügt über keine Berechtigungen

Nach dem Aufrufen von Docker Run kann nicht mehr auf den bereitgestellten Ordner zugegriffen werden und es liegt keine Berechtigung vor

Zum Beispiel:

sudo nvidia-docker run -p 8090:8888 -p 8091:80 -p 8092:6666 --name=pytorch0.4 -v ~/Arbeitsbereich:/root/Arbeitsbereich -i --shm-size 31G -t dsksd/pytorch:0.4.1 /bin/bash

Der Arbeitsbereichsordner des Hosts wird mit dem Ordner /root/workspace des Containers gemountet, aber es können keine Daten in den Arbeitsbereichsordner auf dem Host geschrieben werden. Weil der Besitzer des Ordners zu diesem Zeitpunkt root ist.

Sie können den folgenden Befehl ausführen:

sudo chown -R $USER Ordnerspeicherort (/workspace)

Der Ordner ist lesbar und beschreibbar. Allerdings müssen Sie den obigen Befehl nach dem Neustart erneut ausführen.

Das Obige ist meine persönliche Erfahrung. Ich hoffe, es kann Ihnen als Referenz dienen. Ich hoffe auch, dass Sie 123WORDPRESS.COM unterstützen werden. Sollten dennoch Fehler oder unvollständige Überlegungen vorliegen, freue ich mich über eine Korrektur.

Das könnte Sie auch interessieren:
  • Docker: Zeigen Sie den Mount-Verzeichnisvorgang des Containers an
  • Beheben Sie das Problem, dass beim Mounten von Dateien oder Verzeichnissen der relative Pfad ./ in Docker Run fehlschlägt
  • Implementierung der Einbindung eines freigegebenen NFS-Verzeichnisses in einen Docker-Container
  • Docker - Zusammenfassung von 3 Möglichkeiten zum Ändern von Container-Mount-Verzeichnissen
  • Docker mountet lokale Verzeichnisse und Datenvolumen-Container-Operationen
  • Docker startet das Elasticsearch-Image und behebt den Fehler nach dem Mounten des Verzeichnisses
  • Lösung für den Fehler beim Mounten des freigegebenen Docker-Verzeichnisses unter Windows 10

<<:  CSS3-Mobil-Vw+Rem-Methode zum Erreichen eines reaktionsfähigen Layouts ohne Abhängigkeit von JS

>>:  Verwenden Sie sauberes HTML-Markup zum Erstellen Ihrer Seiten

Artikel empfehlen

Beispiel für das Hinzufügen von Attributen mithilfe von Stilen in HTML

Fügen Sie den erforderlichen Links Inline-Stile hi...

Grafisches Tutorial zur Installation und Konfiguration von MySQL 8.0.12

Notieren Sie die Installations- und Konfiguration...

Centos8 (Minimalinstallation) Tutorial zur Installation von Python3.8+pip

Nachdem ich die Installation von Python8 minimier...

Beispiel einer Skriptmethode für die Bindung von Linux-Dualnetzwerkkarten

Bei der Bedienung und Konfiguration von Linux wir...

Beispielanalyse der Intervallberechnung von MySQL-Datum und -Uhrzeit

Dieser Artikel beschreibt anhand eines Beispiels ...

Detailliertes Tutorial zum Ausführen mehrerer Springboot mit Docker

Docker führt mehrere Springboot Erstens: Port-Map...

40 Webseiten-Designs mit supergroßen Schriftarten

Heutige Webdesigns neigen dazu, sehr große Schrif...

So kapseln Sie die Rich-Text-Komponente von WangEditor in Angular

Die Rich-Text-Komponente ist eine sehr häufig ver...

Erläuterung des Prozesses des Docker-Packaging-Node-Projekts

Als Backend-Programmierer muss ich manchmal an Fr...

CSS verwendet die BEM-Namenskonvention

Welche Informationen möchten Sie erhalten, wenn S...

Lösung für das Problem des verstümmelten Codes in MySQL 5.x

MySQL ist eine häufig verwendete Open-Source-Date...

Detaillierte Erläuterung der Nginx-Upstream-Konfiguration und -Funktion

Konfigurationsbeispiel Upstream-Backend { Server ...

Anwendungsbeispiele für die try_files-Direktive von Nginx

Die Konfigurationssyntax von Nginx ist flexibel u...