Pat*_*aul 8 javascript node.js docker dockerfile electron
我创建了一个托管电子应用程序的存储库的分支,这是一个聊天客户端: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"]
Run Code Online (Sandbox Code Playgroud)
start.sh文件如下:
./node_modules/.bin/electron ./src
Run Code Online (Sandbox Code Playgroud)
构建docker镜像并执行后
docker run -it -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=unix$DISPLAY --device /dev/snd dixord
Run Code Online (Sandbox Code Playgroud)
我收到错误代码:
standard_init_linux.go:175: exec user process caused "exec format error"
Run Code Online (Sandbox Code Playgroud)
虽然我使文件可执行并使用了正确的amd64架构.
有没有人想出如何使电子GUI在码头工作上更加天真?
我会尽力在这个答案中帮助你 - 评论太长了。
我在我的 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"]
Run Code Online (Sandbox Code Playgroud)
这是你的 start.sh
#!/bin/sh
./node_modules/.bin/electron ./src
Run Code Online (Sandbox Code Playgroud)
实际上,我无权访问您的文件等,但是使用此 DockerFile 可以毫无问题地创建 docker 映像。我还进入了 docker 容器并检查是否可以运行电子工作。
如果你想进入容器,你只需要构建 docker 镜像。我通过(最简单的方式)以下命令(打开Dockerfile 所在的控制台并运行)完成了它:
docker build -t test-image .
Run Code Online (Sandbox Code Playgroud)
成功构建映像后,您可以运行容器。如果有任何问题,我建议您使用bash入口点运行容器并调试失败的内容 - bash 将在您键入以下脚本的同一控制台中打开)
docker run -it test-image bash
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12360 次 |
| 最近记录: |