【发布时间】:2016-10-08 08:14:22
【问题描述】:
我创建了一个托管电子应用程序的存储库的分支,该应用程序是一个聊天客户端: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 架构。
有没有人想出如何让电子图形用户界面在 docker 工作上更加天真?
【问题讨论】:
-
这是您的
start.sh还是您只是复制并粘贴有问题的行?因为也许你错过了#!/bin/sh- shell 脚本的第一行 -
然后我得到
/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 -
您在哪个操作系统上构建此映像?
-
这是 lubuntu 16.04
-
尝试
apt-get install libgtk2.0-0或使用root用户运行start.sh
标签: javascript node.js docker electron dockerfile