Eris ist eine einzigartige Architektur, die einen sehr nützlichen Vorteil aus der Containerisierung der Daten, Dienste – Verträge, js – in separate Containerinstanzen selbst gezogen hat. Mit der Absicht, eris in Docker auszuführen, habe ich ein Docker-Image erstellt, indem ich die Anweisungen unter „Erste Schritte“ in einer Docker-Datei verwendet habe. Wenn ich jedoch einen CMD/ENTRYPOINT auf die Anweisung eris init setze, kann ich keine Containerinstanz mit docker run -i -t --name test_eris erstellen. Dies ist sinnvoll, da der Eris-Server eine Verbindung zum Docker-Daemon herstellt, um Bilder für Eris-DB, Eris-Schlüssel, Eris-Aktionen usw. abzurufen. Meine Frage zum Ansatz zum Ausführen des Eris-Servers in einem Container? 1. Installieren Sie einen weiteren Docker-Daemon in der Docker-Datei für das eris_image. Dies würde jedoch einen Container innerhalb der Containerarchitektur erstellen. Ich vermute, dass dies eine sehr erwünschte lateral skalierbare Architektur unnötig verkomplizieren könnte. Anregungen? 2. Ein alternativer Ansatz, den ich mir vorstellen kann, ist das Erstellen separater Container-Images für eris-cli, eris-db, eris-keys usw. mithilfe der Dockerfiles aus dem eris-ltd-Github-Repo. Wenn dies der Ansatz wäre, was wären die Empfehlungen, um sicherzustellen, dass eris beim Erstellen einer privaten Kette mit diesem eingerichteten Kundencontainer wie erwartet funktionieren kann?
Eris ist ein CLI-Tool, das sich auf die Container-Orchestrierung für Blockchain-Anwendungen konzentriert. Normalerweise empfehlen wir, es auf dem Host zu installieren. Es ist sicherlich möglich, innerhalb von Docker zu laufen, aber es wird viel weniger bequem sein.
Allerdings haben wir Bilder für eris auf quay.io verfügbar. Sie können auch das eris-cli-Repo abrufen und die kanonische Dockerdatei von dort aus erstellen.
Wenn Sie Ihre eigene erstellen, sollten Sie eris init
einen RUN-Befehl in der Dockerdatei haben. Der EINTRITTSPUNKT sollte einfach eris sein. Nicht eris init.
Der einfache Weg, eris aus dem Docker heraus auszuführen, ist jedoch unten.
docker pull quay.io/eris/eris && docker run -v /var/run/docker.sock:/var/run/docker.sock ... quay.io/eris/eris erisCommand
Wo ... sind alle anderen Flags, die Sie für Ihren Docker-Container benötigen.
Casey Kuhlmann
skarred14
Casey Kuhlmann