diff --git a/.kokoro/docker/Dockerfile b/.kokoro/docker/Dockerfile index e21de1fb8bc..072dbb57e9c 100644 --- a/.kokoro/docker/Dockerfile +++ b/.kokoro/docker/Dockerfile @@ -202,4 +202,21 @@ RUN useradd -d /h -u ${UID} ${USERNAME} # Allow nopasswd sudo RUN echo "${USERNAME} ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers +# Install Chrome. +RUN curl https://dl-ssl.google.com/linux/linux_signing_key.pub -o /tmp/google.pub \ + && cat /tmp/google.pub | apt-key add -; rm /tmp/google.pub \ + && echo 'deb http://dl.google.com/linux/chrome/deb/ stable main' > /etc/apt/sources.list.d/google.list \ + && mkdir -p /usr/share/desktop-directories \ + && apt-get -y update && apt-get install -y google-chrome-stable + +# Disable the SUID sandbox so that Chrome can launch without being in a privileged container. +RUN dpkg-divert --add --rename --divert /opt/google/chrome/google-chrome.real /opt/google/chrome/google-chrome \ + && echo "#!/bin/bash\nexec /opt/google/chrome/google-chrome.real --no-sandbox --disable-setuid-sandbox \"\$@\"" > /opt/google/chrome/google-chrome \ + && chmod 755 /opt/google/chrome/google-chrome + +# Install Chrome Driver. +RUN mkdir -p /opt/selenium \ + && curl http://chromedriver.storage.googleapis.com/`curl -sS chromedriver.storage.googleapis.com/LATEST_RELEASE`/chromedriver_linux64.zip -o /opt/selenium/chromedriver_linux64.zip \ + && cd /opt/selenium; unzip /opt/selenium/chromedriver_linux64.zip; rm -rf chromedriver_linux64.zip; ln -fs /opt/selenium/chromedriver /usr/local/bin/chromedriver; + CMD ["python3"]