Lösung für die Docker-Befehlsausnahme „Zugriff verweigert“

Lösung für die Docker-Befehlsausnahme „Zugriff verweigert“

Installieren Sie Docker im Linux-System neu und geben Sie den Befehl ein, etwa: Docker-Images

Das Ergebnis war abnormal.

Einfach ausgedrückt wird die Verbindung des aktuellen Benutzers abgelehnt.

Lösung 1:

Verwenden Sie Administratorrechte und fügen Sie vor dem Befehl sudo hinzu

Lösung 2:

Fügen Sie den aktuellen Benutzer zur Docker-Benutzergruppe hinzu

sudo groupadd docker #Fügen Sie die Docker-Benutzergruppe hinzu. Diese Benutzergruppe sollte bereits vorhanden sein. sudo gpasswd -a $USER docker #Fügen Sie den aktuellen Benutzer zur Docker-Benutzergruppe hinzu. newgrp docker #Aktualisieren Sie die Benutzergruppe Docker.

Führen Sie dann Docker-Images aus

Dies kann normal verwendet werden

Ergänzung: Docker -v hat keine Berechtigung für das gemountete Verzeichnis. Lösung für Berechtigung verweigert

Beschreibung der Situation

Heute verwende ich docker run -d -p 9091:8080 -v /home/daniu/docker/tomcat/webapps/:/usr/local/tomcat/webapps/ --name managertomcat daniu/mytomcat

Nach dem Mounten des Pfades betreten Sie den Container

root@08066d03a043:/usr/local/tomcat# cd webapps/
root@08066d03a043:/usr/local/tomcat/webapps# ls
ls: Verzeichnis „.“ kann nicht geöffnet werden: Berechtigung verweigert
root@08066d03a043:/usr/local/tomcat/webapps#

Beim Anzeigen von Webanwendungen wird die Meldung angezeigt, dass keine Berechtigung vorliegt.

Grund:

Das Sicherheitsmodul Selinux in CentOS7 hat die Berechtigungen deaktiviert.

Es gibt drei Möglichkeiten, das Problem zu lösen:

1. Fügen Sie zur Laufzeit --privileged=true hinzu

[daniu@localhost tomcat]$ docker run -d -p 9091:8080 -v /home/daniu/docker/tomcat/webapps/:/usr/local/tomcat/webapps/ --privileged=true --name managertomcat xuhaixing/mytomcat
c512137b74f3366da73ff80fc1fd232cc76c95b52a4bab01f1f5d89d28185b28
[daniu@localhost tomcat]$ ls

2. Schalten Sie Selinux vorübergehend aus und dann wieder ein

[daniu@localhost tomcat]# setenforce 0
[daniu@localhost tomcat]# setenforce 1

3. Fügen Sie Linux-Regeln hinzu und fügen Sie das zu mountende Verzeichnis zur Selinux-Whitelist hinzu

# Das Format zum Ändern des Sicherheitskontexts ist wie folgt: chcon [-R] [-t Typ] [-u Benutzer] [-r Rolle] Datei- oder Verzeichnisoptionen ohne Parameter: 
-R: Alle Verzeichnisse unter diesem Verzeichnis werden gleichzeitig geändert. 
-t: gefolgt vom Typfeld des Sicherheitsdokuments, zum Beispiel httpd_sys_content_t; 
-u: gefolgt von der Identitätsidentifizierung, zum Beispiel system_u; 
-r: Die Farbe der folgenden Straße, zum Beispiel system_r
implementieren:
chcon -Rt svirt_sandbox_file_t /home/daniu/docker/tomcat/webapps/

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:
  • Lösung für den Fehler TNS: Berechtigung verweigert, wenn Oracle unter Linux mit dem Abhören beginnt
  • Lösung für den Apache-Startfehler: Berechtigung verweigert: httpd: Fehlerprotokolldatei konnte nicht geöffnet werden
  • Lösung für „Berechtigung verweigert“ in Python
  • Lösung für „Zugriff verweigert“

<<:  MySQL-Datenbank löscht doppelte Daten und behält nur eine Methodeninstanz bei

>>:  Beispielcode für HTML-Framesets

Artikel empfehlen

Mobile Frontend-Anpassungslösung (Zusammenfassung)

Ich habe online gesucht und festgestellt, dass in...

JS realisiert Bild Digitaluhr

In diesem Artikelbeispiel wird der spezifische JS...

So erstellen Sie schnell MySQL Master-Slave mit mysqlreplicate

Einführung Das mysql-utilities-Toolset ist eine S...

Vue + Element + OSS realisiert das Hochladen von Front-End-Fragmenten und die Wiederaufnahme von Haltepunkten

Reine Front-End-Implementierung:切片上傳斷點續傳.斷點續傳muss...

Tutorial zur Migration von MySQL von phpstudy nach Linux

Projektzweck Migrieren Sie die Daten in MySQL 5.5...

Die Frontend-Entwicklung muss jeden Tag lernen, HTML-Tags zu verstehen (1)

2.1 Semantisierung sorgt dafür, dass Ihre Webseit...

Hyperlink-Tag für HTML-Webseiten

Lernprogramm zum Hyperlink-Tag einer HTML-Webseit...

jQuery implementiert Akkordeon-Kleinbuchstaben

Dieser Artikel gibt Ihnen den spezifischen Code v...

Detaillierte Analyse des MySQL 8.0-Speicherverbrauchs

Inhaltsverzeichnis 1. innodb_buffer_pool_size 2. ...

Implementierung eines einfachen Whack-a-Mole-Spiels in JavaScript

In diesem Artikel finden Sie den spezifischen Cod...

JS implementiert Anforderungsdispatcher

Inhaltsverzeichnis Abstraktion und Wiederverwendu...

Vue implementiert Karussell-Animation

In diesem Artikelbeispiel wird der spezifische Co...

So beheben Sie den MySQL-FEHLER 1045 (28000) - Zugriff wegen Benutzer verweigert

Problembeschreibung (die folgende Diskussion besc...