Wie man laufen ein Elektron-app auf docker
Ich habe eine Gabel von einer repository-hosting ein Elektron-app ist ein chat-client: https://github.com/Serkan-devel/BetterDiscordApp-docker.
Was ich versuche zu tun, ist das erstellen eines docker-container mit einem GUI-süchtig auf den eigenen Bildschirm wie bei https://blog.jessfraz.com/post/docker-containers-on-the-desktop/ .
Dem dockerfile ich erstellt habe geht so:
FROM node:slim
COPY . /usr/scr/app
#RUN rm bdstart.sh
RUN npm install --save-dev electron
RUN npm install
#ENV FRESHINSTALL=true
CMD ["/usr/scr/app/start.sh"]
Den start.sh Datei geht wie:
./node_modules/.bin/electron ./src
Nach dem Aufbau der docker-image und führen Sie es mit
docker run -it -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=unix$DISPLAY --device /dev/snd dixord
Bekomme ich die Fehlermeldung code:
standard_init_linux.go:175: exec user process caused "exec format error"
obwohl ich die Datei ausführbar gemacht und den richtigen amd64-Architektur.
Hat jemand herausgefunden wie man Elektronen-GUI ' s naitively über docker zu arbeiten?
- dies ist Ihre
start.sh
oder Sie einfach kopieren und fügen Sie die problematische Zeile? weil Sie vielleicht fehlen#!/bin/sh
- die erste Zeile in shell-Skript - Dann bekomme ich
/node_modules/electron/dist/electron: error while loading shared libraries: libgtk-x11-2.0.so.0: cannot open shared object file: No such file or directory
- Auf dem OS bauen Sie dieses Bild?
- Es ist lubuntu 16.04
- versuchen
apt-get install libgtk2.0-0
oder laufen start.sh mitroot
Benutzer - der Standard-Benutzer im Andockfenster root
- Ich fügte hinzu, die Antwort mit den Details, wie ich war in der Lage zu replizieren Ihr problem, ich hoffe, es wird Ihnen helfen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich versuche Euch zu helfen hier in dieser Antwort ist zu lang für einen Kommentar.
Ich habe versucht, Ihre Docker-Datei auf mein Win10 und mit den gleichen Problemen.
Aber ich fand es heraus durch hinzufügen der benötigten Pakete und erfolgreich erstellt docker image.
Hier ist Dockerfile
hier ist dein
start.sh
Tatsächlich ich don ' T haben Zugriff auf Ihre Dateien und so weiter, aber mit diesem DockerFile war in der Lage, zum erstellen von docker-image ohne Probleme. Ich ging auch innerhalb docker-container und prüfen, ob die Möglichkeit besteht die Elektron - gearbeitet.
Wenn Sie wollen, gehen Sie in die container, die Sie gerade brauchen, um zu bauen docker image. Ich habe es durch (einfachste Möglichkeit) folgenden Befehl (öffnen Konsole wo Dockerfile befindet sich und laufen):
Nach erfolgreichem erstellen des images, das Sie ausführen können container. Wenn irgendwelche Probleme haben, empfehle ich Euch zu laufen-container mit
bash
entrypoint und Debuggen was fehlerhaft ist - bash öffnet sich in der Konsole geben Sie Folgendes Skript)No protocol specified
. Wenn Sie es im mit der bash (wie Sie sagte) und die Ausführung derstart.sh
-Datei, die ich dann bekommen./start.sh: 4: ./start.sh: ./node_modules/.bin/electron: not found
als Fehler. Aber hat ein Fenster pop-up, wenn Sie erfolgreich lief es?Habe ich gefunden, dieser Frage nützlich, schließlich habe ich kam mit diesem Artikel, um es noch einfacher:
https://medium.com/@calbertts/developing-electron-apps-in-macos-afd21b4a59e3#.avdge04d6
Hoffe, Sie finden es nützlich, zu.