4

我希望你们一切都好!

这是我关于堆栈溢出的第一个问题,所以如果我遗漏了什么,请告诉我,我很高兴更新我的问题。

因此,总结一下我的问题,我尝试按照Docker-Engine Installation的官方步骤在 Ubuntu 18.04 VM 上安装 Docker-ce,运行命令“sudo apt-get”时出现错误“Hash Sum Mismatch”安装 docker-ce docker-ce-cli containerd.io”。

我经历了几次官方步骤,到目前为止我已经尝试了以下事情:

1)如下命令,后面跟着官方安装步骤

apt-get clean
rm -rf /var/lib/apt/lists/*
apt-get clean
apt-get update
apt-get upgrade

2) 用下面几行创建一个文件,放在“/etc/apt/apt.conf.d/99fixbadproxy”,后面跟着官方安装步骤

Acquire::http::Pipeline-Depth 0;
Acquire::http::No-Cache true;
Acquire::BrokenProxy    true;

3)使用以下命令安装其他版本的docker-ce

sudo apt-get install docker-ce 5:19.03.8~3-0~ubuntu-bionic
sudo apt-get install docker-ce 5:19.03.6~3-0~ubuntu-bionic
sudo apt-get install docker-ce 5:18.09.9~3-0~ubuntu-bionic

4)我尝试通过在以下命令的单词“stable”之后添加“nightly”或“test”或两者来安装不同的存储库(我认为它们被称为存储库)

sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"

我认为差不多就是这样。我确实尝试了其他事情,但不幸的是我不记得它们了,因为我已经研究这个问题很长一段时间了。

不过,我没有尝试全新安装 Ubuntu 18.04。

如果我在我的问题中遗漏了什么,请告诉我!

大家保重!

4

2 回答 2

8

解释和解决方案:快速修复

此问题是由 Windows Hypervisor 平台引起的。这个问题暂时无法解决(据我所知)。

不过,部分修复即将到来。我说“部分”是因为它涉及禁用平台(也称为“Hyper-V”),这可能会破坏您安装的其他虚拟化解决方案,因为这是手动启用的。无论如何,这里是如何禁用它并让你的虚拟机再次运行,

  1. 关闭虚拟机。

  2. 按 Windows 徽标键 + X,然后按 A 以管理员身份运行命令提示符(powershell)。

  3. 键入 bcdedit /set hypervisorlaunchtype off

  4. 当您看到“操作成功完成”时,重新启动您的 Windows。重新启动后,启动您的虚拟机并更新/升级。

于 2020-06-22T08:21:00.643 回答
1

对于任何对此仍有疑问的人,我设法通过禁用 HyperV 来使其正常工作(正如大多数人已经建议的那样)。但是,在我的设置中,使用上述方法禁用 HyperV 并没有真正禁用 HyperV,因为我的 Windows 机器将 HyperV 用于 CredentialGuard 和安全启动,这两者都需要在 HyperV 完全禁用之前被禁用

如果systeminfo.exe在提升的终端中运行显示A hypervisor has been detected. Features required for Hyper-V will not be displayed,则 HyperV 并未完全禁用。禁用凭证保护和安全启动并重新启动几次(在运行所有已经提到的禁用 HyperV 的命令之后)为我解决了所有问题。

仅供参考,如果 HyperV 完全禁用,您应该会看到

Hyper-V Requirements:      VM Monitor Mode Extensions: Yes
                           Virtualization Enabled In Firmware: Yes
                           Second Level Address Translation: Yes
                           Data Execution Prevention Available: Yes

跑步时systeminfo.exe

于 2020-09-11T11:09:47.803 回答