docker - xvfb-run 卡在容器中

标签 docker xvfb

我正在尝试容器化一个创建 .STL 文件快照的 Node 应用程序。此应用程序通过 xvfb-run 启动为它提供一个模拟 GUI,它可以在其中生成所述快照,如果我只运行没有容器的应用程序,它就可以工作,但是当我尝试将它容器化时,xvfb-run只是挂起。容器控制台没有打印任何内容,没有日志,并添加 -e /dev/stdoutxvfb-run不输出任何东西。

这是我的 dockerfile:

FROM debian:latest AS build-env
WORKDIR /app
COPY src ./src
COPY tsconfig.json ./
COPY package.json ./
RUN apt-get update
RUN apt-get install -y curl
RUN apt-get install -my wget gnupg
RUN curl -sL https://deb.nodesource.com/setup_8.x | bash
RUN apt-get install -y nodejs build-essential libxi-dev xvfb libgl1-mesa-dev libglu1-mesa-dev libglew-dev
RUN npm install .
RUN npm install -g typescript
RUN tsc
EXPOSE 3000
CMD ["xvfb-run", "node", "dist/examples/server.js"]

示例运行(光标永远卡在那里,永远不会打印任何内容)

example run

编辑:只是想澄清一下它应该打印一些东西 - Express 服务器在启动时会打印一些东西,所以我可以告诉它没有启动并且出现了问题。我也可以确认xvfb-run命令存在,因为在没有任何其他参数的情况下运行它会显示帮助消息。

最佳答案

也许晚了,但刚看到你的帖子。你可能需要类似 tini 的东西,所以 使用 --init 标志 当您这样做时docker run .这会将初始化系统加载为 ENTRYPOINT
Wine是关于如何使用它的一个很好的例子

并到 use it in docker-compose ,只需添加 init: true (在服务内部)。

我也发现了类似的东西,也许对你也有用:stl-thumb

希望能帮助到你!

关于docker - xvfb-run 卡在容器中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50634819/

相关文章:

docker - 在Docker中查询MySql数据库

node.js - Docker CentOS 镜像 NodeJS

Docker 工具箱 SSH 登录

linux - 两个容器可以在同一主机的同一显示器上启动 Xserver 吗?

x11 - 调整 Xvfb 显示大小

spring - 无法配置数据源:未指定 'url'属性,并且无法配置任何嵌入式数据源。原因:Fa

linux - docker-compose 不能使用 .env 中的变量

google-chrome - 如何从 Xvfb 获取显示中的所有进程?

python - OSX 10.11 上的 Headless Selenium + Xvfb + Chrome

python - pyvirtualdisplay 中的 XStartError