如何在docker上运行电子应用程序

我已经创build了一个托pipe一个电子应用程序,这是一个聊天客户端的存储库叉: https : //github.com/Serkan-devel/BetterDiscordApp-docker 。

我正在尝试做的是创build一个Docker容器,它的GUI挂在自己的屏幕上,就像https://blog.jessfraz.com/post/docker-containers-on-the-desktop/ 。

我创build的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 

在构builddocker镜像并执行之后

 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" 

尽pipe我使文件可执行并使用了正确的amd64架构。

有没有人想过如何使电子GUI的docker工作?

我会尽力在这个答案中帮助你 – 太长了评论。

我在我的Win10上尝试了你的Docker文件,并且遇到了同样的问题。 但是我想通过添加所需的软件包并成功创builddocker镜像来解决这个问题。 这里是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能够创builddocker形象没有问题。 我也走进docker集装箱,检查是否可以运行电子工作

如果你想进入容器,你只需要build立docker图像。 我已经完成了(最简单的方式)下面的命令打开控制台,Dockerfile所在并运行)

  docker build -t test-image . 

成功构build映像后,您可以运行容器。 如果有任何问题,我build议你用bash入口点运行容器并debugging什么失败 – bash将在你input以下脚本的同一个控制台中打开)

  docker run -it test-image bash 

我发现这个问题很有用,最后我想出了这篇文章,使它更容易:

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

希望,你也发现它也很有用。