Erlaube './' relative Pfade in docker-compose.yml-Dateien Version: '3' ... Bände: - ./init-mongo.js:/docker-entrypoint-initdb.d/init-mongo.js:ro - ./mongo-volume:/data/db ... Die Datei init-mongo.js im aktuellen Pfad wird im Container in /docker-entrypoint-initdb.d/init-mongo.js gemountet und in den schreibgeschützten Modus versetzt. Das Verzeichnis mongo-volume unter dem aktuellen Pfad wird in den Container /data/db eingebunden. Wenn mongo-volume nicht existiert, wird das Verzeichnis automatisch erstellt. Wenn es sich jedoch um einen Docker-Run handelt, können Sie den relativen Pfad nicht wie oben verwenden. >>> docker run -d --restart always -p 27017-27019:27017-27019 -e MONGO_INITDB_DATABASE=job -e MONGO_INITDB_ROOT_USERNAME=root -e MONGO_INITDB_ROOT_PASSWORD=root -v $PWD/init-mongo.js:/docker-entrypoint-initdb.d/init-mongo.js:ro -v ./mongo-volume:/data/db --name mein-mongo-container mongo Docker: Fehlerantwort vom Daemon: create ./init-mongo.js: „./init-mongo.js“ enthält ungültige Zeichen für einen lokalen Datenträgernamen, nur „[a-zA-Z0-9][a-zA-Z0-9_.-]“ sind zulässig. Wenn Sie ein Hostverzeichnis übergeben möchten, verwenden Sie den absoluten Pfad. Siehe „docker run --help“. Sie müssen $PWD verwenden, um den Punkt „.“ zu ersetzen. >>> docker run -d --restart always -p 27017-27019:27017-27019 -e MONGO_INITDB_DATABASE=job -e MONGO_INITDB_ROOT_USERNAME=root -e MONGO_INITDB_ROOT_PASSWORD=root -v $PWD/init-mongo.js:/docker-entrypoint-initdb.d/init-mongo.js:ro -v $PWD/mongo-volume:/data/db --name mein-mongo-container mongo 3081e25a20fa8b2e95850897b3b32b08da298f73d7e458119fa3f2c85b45f020 Ergänzung: Docker -v hat keine Berechtigung für das gemountete Verzeichnis Permission denied 1. ProblemAls ich heute Docker zum Mounten von Redis verwendet habe, ist immer ein Fehler aufgetreten. docker run -v /home/redis/redis.conf:/usr/local/etc/redis/redis.conf --name redis2 -p 6378:6379 redis redis-server /usr/local/etc/redis/redis.conf Dann werden weiterhin Fehler gemeldet:
2. FehlerbehebungsprozessÜberprüfen Sie auch das Protokoll. Dann habe ich den Ort entfernt, an dem die Konfigurationsdatei verwendet wurde docker run -v /home/redis/redis.conf:/usr/local/etc/redis/redis.conf --name redis2 -p 6378:6379 redis Dann betreten Sie den Container docker exec -it redis2 /bin/bash Gehen Sie dann in den gemounteten Ordner cd /usr/local/etc/redis Es wurde ein Fehler gefunden:
Das heißt, keine Erlaubnis 3. Ursachen und Lösungen3.1 GründeDas Sicherheitsmodul Selinux in CentOS7 hat deaktivierte Berechtigungen 3.2 LösungEs gibt drei Möglichkeiten, das Problem zu lösen: 1. Fügen Sie zur Laufzeit --privileged=true hinzu docker run -v /home/redis/redis.conf:/usr/local/etc/redis/redis.conf --name redis2 --privileged=true redis redis-server /usr/local/etc/redis/redis.conf 2. Schalten Sie Selinux vorübergehend aus und dann wieder ein [root@localhost tomcat]# setenforce 0 [root@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 Sicherheitstextes ist wie folgt
Option 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/redis/redis.conf 4. Einige Erfahrungen mit dem Docker-Mounting4.1 Das Containerverzeichnis darf kein relativer Pfad sein 4.2 Wenn das Hostverzeichnis nicht existiert, wird es automatisch generiert 4.3 Was ist, wenn das Hostverzeichnis ein relativer Pfad ist? Die Antwort auf diese Frage erhalten wir, indem wir den Befehl „Docker Inspect“ verwenden und uns den Abschnitt „Mounts“ des Containers ansehen. 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:
|
<<: Beispiel für die Verwendung von CSS3 zum Anordnen von Elementen um einen Mittelpunkt
>>: Analysieren der häufig verwendeten v-Anweisungen in vue.js
Um JS-Code zu debuggen, müssen Sie jedes Mal eine...
Inhaltsverzeichnis defineComponent-Überladungsfun...
In diesem Artikel wird die Verwendung von „Explai...
Dieser Artikel beschreibt die MySQL-Datentypen un...
Aggregatfunktionen Wirkt auf einen Datensatz ein ...
1. Anzeigeeffekt: 2. HTML-Struktur <div Klasse...
Inhaltsverzeichnis Vorwort Die Beziehung zwischen...
Installieren Sie Apache aus der Quelle 1. Laden S...
CSS-Kombinationsselektoren umfassen verschiedene ...
Was ist CSS? CSS (Abkürzung für Cascading Style S...
Während des täglichen Optimierungsprozesses stell...
Beachten! ! ! Diese Situation kann bei der Instal...
Was ist HTML? Um es einfach auszudrücken: HTML wi...
Inhaltsverzeichnis rc.local-Methode chkconfig-Met...
Inhaltsverzeichnis Verwendete APIs Einfaches Beis...