我创建了一个托管电子应用程序的存储库的分支,这是一个聊天客户端:https://github.com/Serkan-devel/BetterDiscordApp-docker.@H_301_2@
我正在尝试做的是创建一个docker容器,其GUI连接到自己的屏幕,如https://blog.jessfraz.com/post/docker-containers-on-the-desktop/.@H_301_2@
我创建的dockerfile如下:@H_301_2@
@H_301_2@
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"]
@H_301_2@
./node_modules/.bin/electron ./src
构建docker镜像并执行后@H_301_2@
@H_301_2@
docker run -it -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=unix$DISPLAY --device /dev/snd dixord
@H_301_2@
standard_init_linux.go:175: exec user process caused "exec format error"
虽然我使文件可执行并使用了正确的amd64架构.@H_301_2@
有没有人想出如何使电子GUI在码头工作上更加天真?@H_301_2@
我在Win10上尝试了你的Docker文件并遇到了同样的问题.
但我通过添加所需的包并成功创建了docker镜像来解决这个问题.
这是Dockerfile@H_301_2@
@H_301_2@
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@H_301_2@
@H_301_2@
#!/bin/sh
./node_modules/.bin/electron ./src
实际上我没有访问你的文件等等,但是这个DockerFile能够毫无问题地创建docker镜像.我也进入了docker容器并检查是否可以运行电子 – 工作.@H_301_2@
如果你想进入容器,你只需要构建docker镜像.我通过(最简单的方式)跟随命令(Dockerfile所在的打开控制台并运行)完成了它:@H_301_2@
@H_301_2@
docker build -t test-image .
成功构建映像后,您可以运行容器.如果有任何问题,我建议您使用bash入口点运行容器并调试失败的内容 – bash将在您键入以下脚本的同一个控制台中打开)@H_301_2@
@H_301_2@
docker run -it test-image bash