如何在“ apt-get install docker-ce”上解决“哈希总和不匹配”?

时间:2020-04-13 16:13:28

标签: docker ubuntu-18.04 docker-ce

我希望你一切都好!

这是我在堆栈溢出时遇到的第一个问题,因此,如果我丢失了任何内容,请告诉我,我很乐意更新我的问题。

因此,总结一下我的问题,我试图按照Docker-Engine Installation上的官方步骤,在Ubuntu 18.04 VM上安装Docker-ce,并且在运行命令“时出现错误“哈希总和不匹配” sudo apt-get install 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)我尝试通过在以下命令的“稳定”一词之后添加“每晚”或“测试”或两者都安装不同的存储库(我认为它们称为存储库)

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

我认为就足够了。我曾尝试过其他方法,但不幸的是我不记得它们了,因为我已经在这个问题上研究了很长时间了。

虽然我没有尝试全新的Ubuntu 18.04安装。

如果我有任何疑问,请告诉我!

保重大家!

2 个答案:

答案 0 :(得分:7)

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

此问题是由Windows Hypervisor平台引起的。就我所知,此问题暂时无法解决。

不过,目前尚有部分解决方法。我说“部分”是因为它涉及到禁用平台(也称为“ Hyper-V”),这可能会破坏您已安装的其他虚拟化解决方案,因为此功能是手动启用的。无论如何,这是禁用它并重新运行VM的方法,

  1. 关闭虚拟机。

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

  3. 类型 bcdedit / set hypervisorlaunchtype off

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

答案 1 :(得分:1)

对于仍然对此有疑问的任何人,我都通过禁用HyperV使其正常工作(正如大多数人已经建议的那样)。但是,在我的设置中,使用上述方法禁用HyperV实际上并没有禁用HyperV,因为我的Windows机器同时将HyperV用于CredentialGuard和Secure Boot,这两个都需要在实际上完全禁用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