Невозможно установить Google Chrome на Docker

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

Вот как я устанавливаю 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 - \
  && echo "deb http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google-chrome.list \
  && apt-get -qqy install \
    ${CHROME_VERSION:-google-chrome-stable} \
  && rm /etc/apt/sources.list.d/google-chrome.list \
  && rm -rf /var/lib/apt/lists/*

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

W: не удалось получить http://deb.debian.org/debian/dists/jessie-updates/main/binary-amd64/Packages 404 Not Found.

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 - \
      && echo "deb http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google-chrome.list \
      && apt-get -qqy install \
        ${CHROME_VERSION:-google-chrome-stable} \
      && rm /etc/apt/sources.list.d/google-chrome.list \
      && rm -rf /var/lib/apt/lists/*

Тогда ошибка

E: невозможно найти пакет google-chrome-stable

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

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


person demouser123    schedule 26.03.2019    source источник


Ответы (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 -- 's&deb http://deb.debian.org/debian jessie-updates main&#deb http://deb.debian.org/debian jessie-updates main&g').

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

FROM debian:jessie
ENV CHROME_VERSION "google-chrome-stable"
RUN sed -i -- 's&deb http://deb.debian.org/debian jessie-updates main&#deb http://deb.debian.org/debian jessie-updates main&g' /etc/apt/sources.list \
  && apt-get update && 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 - \
  && echo "deb http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list \
  && apt-get update && apt-get -qqy install ${CHROME_VERSION:-google-chrome-stable}
CMD /bin/bash
person codinghaus    schedule 26.03.2019
comment
Я попробовал это в моем локальном докере, и он застрял на Reading package lists... - person demouser123; 26.03.2019
comment
Я могу подтвердить, что Reading package lists... требуется довольно много времени (и он отображается два раза), но он проходит через ~ 20 секунд. Повторите попытку с --no-cache в вашей docker build команде .. и подождите некоторое время. Пробовал на двух разных машинах. - person codinghaus; 26.03.2019
comment
Умм. Жду больше минуты, а он еще не сдвинулся. Работа с --no-cache ничем не отличается. - person demouser123; 26.03.2019