Невозможно установить Google Chrome на Docker - PullRequest
0 голосов
/ 26 марта 2019

В настоящее время я сталкиваюсь с проблемой при установке 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 Не найдено

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

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

1 Ответ

1 голос
/ 26 марта 2019

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
...