无法使用 apt-cacher

无法使用 apt-cacher

我想apt-cacher在本地用作我的包代理。尤其是当我重建时我的 Docker 镜像连续几次。我已apt-cacher在我的系统上安装并运行。

我将代理地址设置为:(http://melroy-pc:3142melroy-pc我的主机名)。就我而言,我创建一个/etc/apt/apt.conf.d/02proxy文件:

Acquire::http::proxy "http://melroy-pc:3142";
Acquire::https::proxy "http://melroy-pc:3142";

(我已经尝试只定义http::proxy(没有 https),我还尝试添加APT::Get::AllowUnauthenticated "true";,所有没有运气好的话)

之后我只需运行我的 apt 命令(apt update 和 apt install)。这导致了现在的问题:

Step 9/41 : RUN apt-get update && apt-get install -y --no-install-recommends     dirmngr gnupg gnupg-l10n     gnupg-utils gpg gpg-agent     gpg-wks-client gpg-wks-server gpgconf     gpgsm libassuan0 libksba8     libldap-2.4-2 libldap-common libnpth0     libreadline8 libsasl2-2 libsasl2-modules     libsasl2-modules-db libsqlite3-0 libssl1.1     lsb-base pinentry-curses readline-common     apt-transport-https ca-certificates curl     software-properties-common apt-utils net-tools
 ---> Running in af278cee1d52
Err:1 http://deb.debian.org/debian bullseye InRelease
  403  Access to cache prohibited [IP: 192.168.2.166 3142]
Err:2 http://security.debian.org/debian-security bullseye-security InRelease
  403  Access to cache prohibited [IP: 192.168.2.166 3142]
Err:3 http://deb.debian.org/debian bullseye-updates InRelease
  403  Access to cache prohibited [IP: 192.168.2.166 3142]
Reading package lists...
E: The repository 'http://deb.debian.org/debian bullseye InRelease' is not signed.
E: Failed to fetch http://deb.debian.org/debian/dists/bullseye/InRelease  403  Access to cache prohibited [IP: 192.168.2.166 3142]
E: Failed to fetch http://security.debian.org/debian-security/dists/bullseye-security/InRelease  403  Access to cache prohibited [IP: 192.168.2.166 3142]
E: The repository 'http://security.debian.org/debian-security bullseye-security InRelease' is not signed.
E: Failed to fetch http://deb.debian.org/debian/dists/bullseye-updates/InRelease  403  Access to cache prohibited [IP: 192.168.2.166 3142]
E: The repository 'http://deb.debian.org/debian bullseye-updates InRelease' is not signed.

重要的提示:我的包裹都收到了成功地当我不使用代理时,已安装,没有任何问题。

这种方法过去曾经有效,当时我使用apt-key而不是gpg(我不知道它是否相关,看我的另一个问题)。

答案1

正如 @cas 指出的,Docker 主机通常使用另一个本地 IP 块中的私有 IP 地址。并且默认情况下 apt-cacher 在 1.7.0 版本之后使用allowed_hosts = ''作为默认值而不是*.

我的解决方案:取消注释allowed_hosts设置并将值放入文件*/etc/apt-cacher/apt-cacher.conf

allowed_hosts = *

这将允许所有 IP 地址(包括 Docker IP)。当然可以还指定具体范围

相关内容