我创建了一个托管电子应用程序的存储库的分支,这是一个聊天客户端:https://github.com/Serkan-devel/BetterDiscordApp-docker。
我要做的是创建一个docker容器,其GUI连接到自己的屏幕,如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在码头工作方面做得很好?
答案 0 :(得分:4)
我会在这个答案中帮助你 - 太长时间无法发表评论。
我在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
答案 1 :(得分:0)
我发现这个问题很有用,最后我想出了这篇文章,让它更容易:
https://medium.com/@calbertts/developing-electron-apps-in-macos-afd21b4a59e3#.avdge04d6
希望你发现它也很有用。