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

So lösen Sie das Problem der Randüberlappung

1. Zunächst müssen Sie wissen, was den vertikalen ...

Lernen Sie die asynchrone Programmierung in Node.js in einem Artikel

Inhaltsverzeichnis Einführung Synchron Asynchron ...

Der visuelle Designpfad der Website sollte den Benutzergewohnheiten entsprechen

Cooper sprach über den visuellen Pfad des Benutze...

So ändern Sie die Zeit in der virtuellen CentOS-Maschine

Das obere Bild zeigt die Systemzeit und das unter...

Funktionen in TypeScript

Inhaltsverzeichnis 1. Funktionsdefinition 1.1 Fun...

So optimieren Sie die langsame Like-Fuzzy-Abfrage in MySQL

Inhaltsverzeichnis 1. Einleitung: 2. Die erste Id...

So debuggen Sie das Loader-Plugin in einem Webpack-Projekt

Als ich kürzlich lernte, wie man webpack verwende...

So stoppen Sie die CSS-Animation mittendrin und behalten die Haltung bei

Vorwort Ich bin einmal auf ein schwieriges Proble...

Eine kurze Einführung in die Abfrageeffizienz von MySQL-Speicherfeldtypen

Die Suchleistung von der schnellsten bis zur lang...

Einführung in das Enctype-Attribut des Form-Tags und seine Anwendungsbeispiele

Enctype: Gibt den Kodierungstyp an, der vom Browse...

Installationstutorial auf Unternehmensebene unter Verwendung des LAMP-Quellcodes

Inhaltsverzeichnis LAMP-Architektur 1.Lampeneinfü...