title: headless chrome in docker with python. Chrome failed to start: crashed
body: <p>I want to run this simple script inside a docker container:</p>
  
  <pre><code>def hi_chrome():
      from xvfbwrapper import Xvfb
      from splinter import Browser
      vdisplay = Xvfb()
      vdisplay.start()
  
      print "spawning connector"
      oBrowser = Browser('chrome')
      oBrowser.visit("http://google.co.za")
      assert oBrowser.title == "Google"
      print "yay"
      vdisplay.stop()
  
  if __name__ == '__main__':
      hi_chrome()
  </code></pre>
  
  <p>I've gotten the script to run in a virtual environment by doing all the pip and apt-get installs listed in the my docker file and just running the script.  But when I try run it inside a container I get:</p>
  
  <pre><code>Traceback (most recent call last):
    File "app.py", line 19, in &lt;module&gt;
      hi_chrome()
    File "app.py", line 10, in hi_chrome
      oBrowser = Browser('chrome')
    File "/usr/local/lib/python2.7/dist-packages/splinter/browser.py", line 63, in Browser
      return driver(*args, **kwargs)
    File "/usr/local/lib/python2.7/dist-packages/splinter/driver/webdriver/chrome.py", line 31, in __init__
      self.driver = Chrome(chrome_options=options, **kwargs)
    File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/chrome/webdriver.py", line 69, in __init__
      desired_capabilities=desired_capabilities)
    File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webdriver.py", line 92, in __init__
      self.start_session(desired_capabilities, browser_profile)
    File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webdriver.py", line 179, in start_session
      response = self.execute(Command.NEW_SESSION, capabilities)
    File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webdriver.py", line 236, in execute
      self.error_handler.check_response(response)
    File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/errorhandler.py", line 192, in check_response
      raise exception_class(message, screen, stacktrace)
  selenium.common.exceptions.WebDriverException: Message: unknown error: Chrome failed to start: crashed
    (Driver info: chromedriver=2.27.440175 (9bc1d90b8bfa4dd181fbbf769a5eb5e575574320),platform=Linux 4.8.0-34-generic x86_64)
  </code></pre>
  
  <p>I've had similar problems when trying to run my script using other containers on docker-hub. I've tried using chrome instead of chromium and I've tried using some containers I found on docker-hub but I keep finding broken nonesense. This should be simple. </p>
  
  <p>My main suspicion is that it's a versioning thing. But it works in the venv so that doesnt make too much sense. Or docker just needs something fancy to get the chrome webdriver to run.</p>
  
  <p>Can someone please point out my obvious and noobish mistake?</p>
  
  <p>My Dockerfile looks like</p>
  
  <pre><code>FROM ubuntu:16.04
  
  RUN apt-get update -y &amp;&amp; \
      apt-get install -y python-pip python-dev xvfb chromium-browser &amp;&amp; \
      pip install --upgrade pip setuptools
  
  RUN pip install chromedriver_installer
  
  COPY ./requirements.txt /app/requirements.txt
  
  WORKDIR /app
  
  RUN pip install -r requirements.txt
  
  COPY . /app
  
  ENTRYPOINT [ "python" ]
  
  CMD [ "app.py" ]
  </code></pre>
  
  <p>And requirements.txt:</p>
  
  <pre><code>splinter==0.7.5
  xvfbwrapper==0.2.8
  </code></pre>