HintergrundWenn Sie am Blockchain-Protokollmodul arbeiten und der Container ausgeführt wird, muss die Protokolldatei zur einfachen Anzeige dem Hostcomputer zugeordnet werden. So implementiere ich es. erreichenÜber den Volumes-Parameter der Docker-Compose-Konfigurationsdatei Beispiel einer Konfigurationsdatei: Bände: – /var/run/:/host/var/run/ - ./channel-artifacts:/var/hyperledger/configs – ./fabric_logs:/tmp/fabric_logs/ Ordnen Sie das Verzeichnis /tmp/fabric_logs im Container dem Verzeichnis ./fabric_logs im aktuellen Verzeichnis des Hosts zu. Diese beiden Verzeichnisse teilen sich Daten. Konfigurieren Sie beim Erstellen eines Containers relevante Parameter im CodeFügen Sie beim Erstellen eines Containers im Code Folgendes hinzu: Funktion (vm *DockerVM) createContainer(ctxt Kontext.Kontext, Client DockerClient, imageID-Zeichenfolge, ContainerID-Zeichenfolge, args []Zeichenfolge, env []string, attachStdout bool) Fehler { Volumen := make(map[string]struct{}) var mounts []docker.Mount var Quellzeichenfolge var Zielzeichenfolge var fabricCfgPath = os.Getenv("FABRIC_CFG_PATH") var configName Zeichenfolge _, Fehler := os.Stat(fabricCfgPath) wenn err == nil { Konfigurationsname = Zeichenfolgen.ToLower(Peer_Prefix) konfiguration := viper.Neu() config.SetConfigName(Konfigurationsname) config.AddConfigPath(fabricCfgPath) config.ReadInConfig() config.SetEnvPrefix("KERN") config.AutomaticEnv() replacer := strings.NewReplacer(.", "_") config.SetEnvKeyReplacer(Ersatz) config.SetConfigType("yaml") Ziel = config.GetString("logging.logpath") //fmt.Println(Ziel) } wenn Ziel == "" { Ziel = "/tmp/fabric_logs/" } Quelle = "/tmp/chaincode_logs/" + Container-ID volumes[Ziel] = struct{}{} mount := docker.Mount{ Name: "binden", Quelle: Quelle, Ziel: Ziel, Modus: "rw", RW: stimmt, Treiber: "rprivate", } Halterungen = Anhängen(Halterungen, Halterung) config := docker.Config{Befehl: args, Image: Bild-ID, Umgebung: Umgebung, Volumes: Volumes, Mounts: Mounts, AttachStdout: attachStdout, AttachStderr: attachStdout} hostConfig := getDockerHostConfig() hostConfig.Binds = []string{ Quelle + ":" + Ziel + ":rw", } copts := docker.CreateContainerOptions{Name: Container-ID, Konfiguration: &config, Hostkonfiguration: Hostkonfiguration} dockerLogger.Debugf("Container erstellen: %s", Container-ID) _, err = Client.Container erstellen(kopiert) wenn err != nil { Rückgabefehler } dockerLogger.Debugf("Container erstellt: %s", imageID) Rückgabe Null } Die Parameter „Volumes“, „Mounts“ und „Hostconfig.Binds“ müssen entsprechend Ihren eigenen Zuordnungsbeziehungen ausgefüllt werden. Hier entlang und durch: 1. Starten Sie die Docker-Compose-Konfigurationsdatei 2. Oder starten Sie mit dem Parameter docker -v in der Befehlszeile Erzielen Sie den gleichen Effekt. Ergänzung: Zwei Möglichkeiten der Docker-Ordnerzuordnung --- Host-Volume-Zuordnung und Zuordnung freigegebener Ordner Docker-Container speichern keine Daten Bitte verwenden Sie für wichtige Daten einen externen Datenträger (Datenpersistenz). Container können reale Maschinenverzeichnisse oder gemeinsam genutzten Speicher als Volumes bereitstellen Host-Volume-Zuordnung[root@docker1 ~]# mkdir /var/data [root@docker1 ~]# docker run -it -v /var/data:/abc myos [root@f1fb58b85671 /]# cd /abc/ [root@f1fb58b85671 abc]# Berühren Sie F1 [root@f1fb58b85671 abc]# ls f1 [root@docker1 ~]# cd /var/data/ [root@docker1 Daten]# ls f1 [root@docker1 data]# touch zhy Zuordnung mithilfe von gemeinsam genutztem SpeicherIdeen: Verwenden Sie einen Host als NFS-Host, erstellen Sie entsprechende Ordner und geben Sie diese für die beiden Docker-Hosts frei. Die beiden Docker-Hosts ordnen die freigegebenen Ordner den Containern zu, sodass die entsprechenden Container den Inhalt des NFS-Hosts freigeben können. Die entsprechenden Seitenordner von http- und anderen Servern können in dieser Form verwendet werden, sodass mehrere Container ein Unternehmen ausführen können. NFS-Hostkonfiguration [192.168.6.77][root@nfs ~]# yum -y installiere nfs-utils [root@nfs ~]# vim /etc/exports /öffentlich *(rw) [root@nfs ~]# systemctl starte den NFS-Server neu Neustart von nfs-serve.service fehlgeschlagen: Einheit nicht gefunden. [root@nfs ~]# mkdir /public [root@nfs ~]# cd /public/ [root@nfs öffentlich]# touch nfs.txt [root@nfs öffentlich]# ls nfs.txt Docker1-Hostkonfiguration[root@docker1 ~]# vim /etc/fstab 192.168.6.77:/öffentlich /mnt/nfs nfs-Standardeinstellungen,_netdev 0 0 [root@docker1 ~]# mkdir /mnt/nfs [root@docker1 ~]# systemctl NFS-Server neu starten [root@docker1 ~]# mount -a [root@docker1 ~]# df -h 192.168.6.77:/öffentlich 17G 3,2G 14G 19 % /mnt/nfs [root@docker1 ~]# docker run -it -v /mnt/nfs/:/zhuhaiyan 192.168.6.153:5000/myos [root@c7c376e3755a /]# cd /zhuhaiyan [root@c7c376e3755a zhuhaiyan]# ls nfs.txt Docker2-Hostkonfiguration[root@docker2 ~]# vim /etc/fstab 192.168.6.77:/öffentlich /mnt/nfs nfs-Standardeinstellungen,_netdev 0 0 [root@docker2 ~]# mkdir /mnt/nfs [root@docker2 ~]# systemctl NFS-Server neu starten [root@docker2 ~]# mount -a [root@docker2 ~]# df -h 192.168.6.77:/öffentlich 17G 3,2G 14G 19 % /mnt/nfs [root@docker2 ~]# docker run -it -v /mnt/nfs/:/zhuhaiyan 192.168.6.153:5000/myos [root@cdd805771d07 /]# cd /zhuhaiyan/ [root@cdd805771d07 zhuhaiyan]# ls nfs.txt 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:
|
<<: Detaillierte Erklärung und praktische Übungen zum Mysql-Tuning-Erklärtool (empfohlen)
>>: Müssen Designer das Programmieren lernen?
Der empfohlene Code zum Abspielen von Hintergrundm...
Wo liegt meine Heimatstadt, wenn ich nach Nordwes...
Dies ist eine Sammlung häufig verwendeter, aber l...
Inhaltsverzeichnis Vorwort 1. Schlüsselelemente e...
Standortabgleichsreihenfolge 1. Übereinstimmung m...
Inhaltsverzeichnis 1. Constraint-Konzepte und Kla...
Einführung Derzeit ist k8s sehr beliebt und ich h...
Zusammenfassung: Nginx-Reverse-Proxy für JIRA kon...
Navicat meldet beim Verbinden mit der Datenbank d...
In diesem Artikel wird der spezifische Code von j...
Lassen Sie uns heute darüber sprechen, wie Sie mi...
Virtuelle Hosts verwenden spezielle Software- und...
C++ stellt zu Ihrer Information eine Verbindung z...
Es gibt erhebliche Unterschiede zwischen CentOS7 ...
#Docker-Suche #Docker-Pull-Portainer 1. Laden Sie...