Я попытался создать образ Docker и обнаружил, что пакет, связанный с OpenSSL, отсутствует, и apt не может исправить проблему. Это приводит к невозможности построения изображения. Похоже, это проблема с репозиторием безопасности Debian. Мысли?
Файл Docker: https://git.ulayer.net/snippets/44/raw
Вывод ошибки: https://git.ulayer.net/snippets/43/raw
Списки загруженных пакетов устарели. Ваша система знает об openssl версии 1.1.1d-0 + deb10u1, однако недавно была выпущена версия 1.1.1d-0 + deb10u2, которая заменяет старую версию.
Вам необходимо обновить списки; даже если в вашем файле докеров есть apt-get update
, вывод показывает с использованием кеша
, что в данном случае бесполезно. Конечно, в этом случае используется кэшированное изображение, а не кешированная информация о apt (хотя кэшированное изображение содержит информацию о apt).
Вероятно, проще всего объединить два шага apt-get update
и ] apt-get install ...
:
RUN apt-get update && apt-get install -y openvpn git netcat ca-certificates inetutils-ping curl wget dnsutils postgresql-client mariadb-client libssl-dev libxml2-dev libyaml-dev libgmp-dev libreadline-dev libz-dev libsqlite3-dev libpq-dev libmariadb-dev pkg-config libpcre3-dev libevent-dev build-essential sudo iptables htop procps apt-utils --fix-missing
Это предотвратит кэширование изображения с устаревшими (или несоответствующими, если вы предпочитаете этот термин) данными apt.