Jea*_*rre 9 ubuntu apt http-status-code-404 docker bad-gateway
我正在使用一个镜像规范存储库的企业存储库。我怀疑这个公司存储库不可靠,因为我有零星的故障,例如:
Failed to fetch ... 502 Bad Gateway [IP: ...]
Failed to fetch ... 404 Not Found [IP: ...]
Run Code Online (Sandbox Code Playgroud)
它似乎不依赖于要安装的包。考虑到这一点,我尝试使用APT::Acquire::Retries:
RUN echo 'APT::Acquire::Retries "3";' > /etc/apt/apt.conf.d/80-retries
Run Code Online (Sandbox Code Playgroud)
(是的,我正在构建一个 docker 镜像)
以下是我安装软件包的方法:
...
&& apt install --no-install-recommends -y \
curl \
apt-utils \
iputils-ping \
nano \
gridsite-clients\
...
Run Code Online (Sandbox Code Playgroud)
我感觉APT::Acquire::Retries没有考虑到(即使用更高的值,例如 30 ...)。
使用的基础镜像是 ubuntu:20.04,apt 版本等于 apt 2.0.8 (amd64)。
有什么线索吗?
[已编辑] 通过激活 apt.conf 上的以下调整,我设法摆脱了 502 错误:
RUN echo '\
Acquire::Retries "100";\
Acquire::https::Timeout "240";\
Acquire::http::Timeout "240";\
APT::Get::Assume-Yes "true";\
APT::Install-Recommends "false";\
APT::Install-Suggests "false";\
Debug::Acquire::https "true";\
' > /etc/apt/apt.conf.d/99custom
Run Code Online (Sandbox Code Playgroud)
在什么情况下(读取http状态代码错误)Acquire::Retries有效?