[英]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.