Как установить пакет debian jessie-backports после удаления пакета с помощью Docker? - PullRequest
0 голосов
/ 08 мая 2019

Проблема

Я пытаюсь использовать jessie-backports в хранилище Docker для проекта Ruby on Rails, используя этот Dockerfile:

FROM ruby:2.4.1
ENV DEBIAN_FRONTEND noninteractive
ENV DEBCONF_NONINTERACTIVE_SEEN true

RUN echo 'alias ll="ls --color=auto -l"' >> ~/.bashrc
RUN apt-get remove -y python
RUN apt-get update --fix-missing
RUN apt-get -y upgrade

RUN echo "deb http://ftp.debian.org/debian jessie-backports main" >> /etc/apt/sources.list && apt-get update
RUN apt-get install -y certbot -t jessie-backports

Однакокогда я попытался создать образ докера.В середине установки появилась следующая ошибка:

E: Release file for http://archive.debian.org/debian/dists/jessie-backports/InRelease is expired (invalid since 77d 3h 49min 17s). Updates for this repository will not be applied.

По состоянию на 27 марта Лукас Нуссбаум написал в этом blogpost , что jessie-updates и jessie-backports собирались удалить с зеркал Debian.В сообщении в блоге, о котором я упоминал, говорилось, что мне нужно было заменить:

deb http://ftp.debian.org/debian jessie-backports main

другими командами:

deb http://archive.debian.org/debian/ jessie-backports main contrib non-free
echo 'Acquire::Check-Valid-Until no;' > /etc/apt/apt.conf.d/99no-check-valid-until

Поэтому я изменил команды следующим образом:

FROM ruby:2.4.1
ENV DEBIAN_FRONTEND noninteractive
ENV DEBCONF_NONINTERACTIVE_SEEN true

RUN echo 'alias ll="ls --color=auto -l"' >> ~/.bashrc
RUN apt-get remove -y python
RUN apt-get update --fix-missing
RUN apt-get -y upgrade

RUN echo "deb http://archive.debian.org/debian/ jessie-backports main contrib non-free" > /etc/apt/sources.list
RUN echo 'Acquire::Check-Valid-Until no;' > /etc/apt/apt.conf.d/99no-check-valid-until
RUN apt-get update

Однако та же проблема все еще существует.

Я также пытался переместить команды перед любой командой apt , например:

FROM ruby:2.4.1
ENV DEBIAN_FRONTEND noninteractive
ENV DEBCONF_NONINTERACTIVE_SEEN true

RUN echo 'alias ll="ls --color=auto -l"' >> ~/.bashrc

RUN echo "deb http://archive.debian.org/debian/ jessie-backports main contrib non-free" > /etc/apt/sources.list
RUN echo 'Acquire::Check-Valid-Until no;' > /etc/apt/apt.conf.d/99no-check-valid-until
RUN apt-get update

RUN apt-get remove -y python
RUN apt-get update --fix-missing
RUN apt-get -y upgrade
...