Docker 消息:由于来自服务器/代理的错误响应,自动禁用 Acquire::http::Pipeline-Depth

zwi*_*ion 4 apache docker

将 apache2 安装到 Docker 的 Ubuntu 16.04 映像中,我收到以下消息

W: http://archive.ubuntu.com/ubuntu/pool/main/g/gdbm/libgdbm3_1.8.3-13.1_amd64.deb: Automatically disabled Acquire::http::Pipeline-Depth due to incorrect response from server/proxy. (man 5 apt.conf).
Run Code Online (Sandbox Code Playgroud)

那是 Dockerfile:

FROM ubuntu:16.04

#RUN apt-get update
#https://github.com/phusion/baseimage-docker/issues/319
RUN apt-get update && apt-get install -y --no-install-recommends apt-utils 
RUN apt-get install -y apache2
Run Code Online (Sandbox Code Playgroud)

当我打开图像时,我看到了/var/www/html文件夹,意思是安装了 apache。

那是什么讯息?这是一个错误还是我可以认为 apache 已完全安装?

Ort*_*kni 5

流水线是 HTTP/1.1 协议的一个特性。来自RFC 7230

支持持久连接的客户端可以“流水线化”它的请求(即发送多个请求而不等待每个响应)。服务器可以并行处理一系列流水线请求,如果它们都有安全方法([RFC7231] 的第 4.2.1 节),但它必须按照接收请求的相同顺序发送相应的响应。

此功能可以在 apt 中通过设置 Acquire::http::Pipeline-Depth 激活。从man apt.conf

设置 Acquire::http::Pipeline-Depth 可用于启用 HTTP 流水线(RFC 2616 第 8.1.2.2 节),这在高延迟连接等情况下是有益的。它指定在管道中发送的请求数。APT 尝试在运行时检测和解决行为不端的网络服务器和代理,但如果您知道您的服务器和代理不符合 HTTP/1.1 规范,则可以通过将值设置为 0 来禁用流水线。默认情况下,它使用值 10 启用。

您看到的消息意味着您与 apt 存储库的连接不支持流水线,(可能是因为某种代理)并且此功能已被 apt 自动禁用。安装可能需要更多时间,但您可以考虑完全安装您的 apache 服务器