Xvfb & Docker - 无法打开显示

Xvfb & Docker - cannot open display

我需要 运行 XVFB 和 docker 与 firefox 但无法让它们一起工作

这是我的 Dockerfile :

FROM abevoelker/ruby:latest # based on ubuntu
ENV TERM linux
RUN apt-get update && apt-get install -y .....

ENV DISPLAY :99

# Install Xvfb init script
ADD xvfb_init /etc/init.d/xvfb # default xvfb init.d
RUN chmod a+x /etc/init.d/xvfb

CMD ["firefox"]

我从 Firefox 收到的错误消息是

 Error: cannot open display: :99

我通过编写一个启动脚本解决了这个问题,它将:

  1. 启动 xvfb
  2. 启动火狐

通过 CMD 执行脚本允许在容器启动时 运行 的正确命令序列。

Docker 文件

...
ENV DISPLAY :99

ADD run.sh /run.sh
RUN chmod a+x /run.sh

CMD /run.sh

run.sh

Xvfb :99 -screen 0 640x480x8 -nolisten tcp &
firefox