Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Xvfb & Docker - cannot open display

I need to run XVFB and docker with firefox but can't get them to work together

Here is my 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"]

The error message I get from Firefox is

 Error: cannot open display: :99
like image 398
overlox Avatar asked Aug 22 '15 00:08

overlox


1 Answers

I solved this by writing a startup script which will:

  1. start xvfb
  2. start firefox

Executing the script via CMD allows the proper sequence of commands to run on container startup.

Dockerfile

...
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
like image 111
overlox Avatar answered Oct 18 '22 15:10

overlox