簡體   English   中英

如何在Docker上運行電子應用

[英]How to run an electron app on docker

我創建了一個托管電子應用程序的存儲庫的分支,該電子應用程序是聊天客戶端: https : //github.com/Serkan-devel/BetterDiscordApp-docker

我想要做的是創建一個GUI掛鈎到自己的屏幕的docker容器,例如https://blog.jessfraz.com/post/docker-containers-on-the-desktop/

我創建的dockerfile如下:

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"]

start.sh文件如下所示:

./node_modules/.bin/electron ./src

構建docker映像並執行后

docker run -it -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=unix$DISPLAY --device /dev/snd dixord

我收到錯誤代碼:

standard_init_linux.go:175: exec user process caused "exec format error"

盡管我使文件可執行並使用了正確的amd64體系結構。

有沒有人想出如何使電子GUI在docker上自然地工作?

我會在此答案中嘗試為您提供幫助-太久才能發表評論。

我在Win10上嘗試了Docker文件,並且遇到了同樣的問題。 但是我通過添加必需的軟件包並成功創建docker映像來解決了這一問題。 這是Dockerfile

   FROM node:slim

   COPY . /usr/scr/app

   #RUN rm bdstart.sh
   RUN apt-get update

   # I think you need to install following 
   RUN apt-get -y install libgtkextra-dev libgconf2-dev libnss3 libasound2 libxtst-dev libxss1
   RUN npm install --save-dev electron

   RUN npm install

   CMD ["/usr/scr/app/start.sh"]

這是你的start.sh

   #!/bin/sh
   ./node_modules/.bin/electron ./src

實際上我無權訪問您的文件,等等,但是有了這個DockerFile,就可以毫無問題地創建docker鏡像了。 我還進入了docker容器,檢查是否可以運行電子工作

如果要進入容器,則只需要構建docker映像即可。 我已經通過以下命令(最簡單的方式)完成了此操作打開並運行Dockerfile的控制台)

   docker build -t test-image .

成功生成映像后,您可以運行容器。 如果有任何問題,我建議您使用bash入口點運行容器並調試失敗的東西-bash將在您鍵入以下腳本的控制台中打開)

   docker run -it test-image bash

我發現這個問題很有用,最后我想到了這篇文章,以使其變得更加容易:

https://medium.com/@calbertts/developing-electron-apps-in-macos-afd21b4a59e3#.avdge04d6

希望您也覺得它有用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM