Не удается установить Google Chrome в Docker

#google-chrome #docker #dockerfile #debian-jessie

#google-chrome #docker #dockerfile #debian-jessie

Вопрос:

В настоящее время я сталкиваюсь с проблемой при установке Google Chrome в моем docker — эта настройка работала вчера, но с сегодняшнего дня я получаю эту ошибку —

Вот как я устанавливаю Chrome

     ENV CHROME_VERSION "google-chrome-stable"
RUN apt-get update
RUN wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - 
  amp;amp; echo "deb http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google-chrome.list 
  amp;amp; apt-get -qqy install 
    ${CHROME_VERSION:-google-chrome-stable} 
  amp;amp; rm /etc/apt/sources.list.d/google-chrome.list 
  amp;amp; rm -rf /var/lib/apt/lists/*
  

Это выдает ошибку

W: Не удалось выполнить выборку http://deb.debian.org/debian/dists/jessie-updates/main/binary-amd64/Packages 404 не найдено

E: Не удалось загрузить некоторые индексные файлы. Они были проигнорированы или вместо них использовались старые.

Если я удалю apt-get update часть, то вышеуказанная ошибка не появится, но google-chrome-stable не найдена

 ENV CHROME_VERSION "google-chrome-stable"
    RUN wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - 
      amp;amp; echo "deb http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google-chrome.list 
      amp;amp; apt-get -qqy install 
        ${CHROME_VERSION:-google-chrome-stable} 
      amp;amp; rm /etc/apt/sources.list.d/google-chrome.list 
      amp;amp; rm -rf /var/lib/apt/lists/*
  

Тогда ошибка

E: Не удается найти пакет google-chrome-стабильный

Кроме того, я нашел ссылку, которая рекомендует удалить jessie https://lists.debian.org/debian-devel-announce/2019/03/msg00006.html

Как я могу настроить удаление обеих ошибок, поскольку вчера все работало нормально, и моя сборка docker прошла успешно.

Ответ №1:

http://deb.debian.org/debian/dists/jessie-updates/main/binary-amd64/Packages действительно выдает 404. Я не знаю, почему это так, но вы не единственный пострадавший: https://github.com/docker-library/official-images/issues/3551

Итак, в качестве обходного пути вы должны закомментировать строку, содержащую этот URL, в sources.list перед запуском apt-get update , чтобы убедиться, что это не приведет к сбою. Я использовал sed для этого ( sed -i -- 'samp;deb http://deb.debian.org/debian jessie-updates mainamp;#deb http://deb.debian.org/debian jessie-updates mainamp;g' ).

Итак, я мог бы успешно установить chrome, изменив ваш файл Dockerfile, чтобы он выглядел как:

 FROM debian:jessie
ENV CHROME_VERSION "google-chrome-stable"
RUN sed -i -- 'samp;deb http://deb.debian.org/debian jessie-updates mainamp;#deb http://deb.debian.org/debian jessie-updates mainamp;g' /etc/apt/sources.list 
  amp;amp; apt-get update amp;amp; apt-get install wget -y
ENV CHROME_VERSION "google-chrome-stable"
RUN wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - 
  amp;amp; echo "deb http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list 
  amp;amp; apt-get update amp;amp; apt-get -qqy install ${CHROME_VERSION:-google-chrome-stable}
CMD /bin/bash
  

Комментарии:

1. Я попробовал это в моем локальном docker, и он застрял на Reading package lists...

2. Я могу подтвердить, что Reading package lists... требуется довольно много времени (и оно отображается два раза), но оно продолжается через ~ 20 секунд. Пожалуйста, повторите попытку с помощью —no-cache в вашей docker build команде .. и дайте ей некоторое время. Пробовал на двух разных машинах.

3. Хм. Я жду больше минуты, а он еще не сдвинулся с места. Запуск с --no-cache ничем не отличается.