我尝试构建 Docker 映像,发现缺少与 OpenSSL 相关的包,而 apt 无法纠正此问题。这导致无法构建映像。这似乎是 Debian 安全存储库的问题。您怎么看?
Docker 文件: https://git.ulayer.net/snippets/44/raw
答案1
下载的软件包列表已过时。您的系统知道 openssl 版本 1.1.1d-0+deb10u1,但最近发布了 1.1.1d-0+deb10u2,取代了旧版本。
您需要更新列表;即使您的 docker 文件有apt-get update
,输出显示Using cache
的内容在这种情况下也是无用的。当然,在这种情况下它使用的是缓存映像,而不是缓存的 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
这将防止缓存具有过时(或者不匹配,如果你喜欢这个术语)的适当数据的图像。