28

我正在我的 Ubuntu 机器上安装 Docker,我正在关注本教程 在 Ubuntu 上安装 Docker 引擎

当我运行sudo apt-get install -y docker-ce它时,它不会在我的机器上安装 Docker,并且会出现以下错误:

$ sudo apt-get install -y docker-ce
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 docker-ce : Depends: libseccomp2 (>= 2.3.0) but 2.2.3-3ubuntu3 is to be installed
E: Unable to correct problems, you have held broken packages.

当我运行时sudo apt-get install libseccomp2,它已经安装在我的系统中,当我尝试在我的机器上安装 Docker 时仍然遇到同样的错误。

这是我的 Ubuntu 操作系统的信息:

DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.2 LTS"
NAME="Ubuntu"
VERSION="16.04.2 LTS (Xenial Xerus)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 16.04.2 LTS"
VERSION_ID="16.04"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
VERSION_CODENAME=xenial
UBUNTU_CODENAME=xenial
4

13 回答 13

21

我在安装docker-ce 18版本的时候也遇到了同样的问题,我不会用aptitude来安装旧版本,因为nvidia-docker只支持18以上的Docker版本!

解决方案很简单:

sudo add-apt-repository ppa:ubuntu-sdk-team/ppa
sudo apt-get update

然后就可以使用命令sudo apt-get install docker-ce解决libseccomp2版本冲突问题了。

参考:https ://gist.github.com/mingrui/187f0e629007443268ce8c1414012ed5

于 2018-11-26T12:51:26.090 回答
19

我在 Ubuntu 16 上遇到了同样的问题。我几乎尝试了所有解决方案。以下命令为我运行。

sudo apt install docker.io

但我注意到现在最新版本正在使用 docker-ce 安装。docker.io 是旧版本。但是为了解决这个问题,你必须找到一个兼容的版本。

对我来说,通过指定版本名称来运行以下命令。

apt install docker-ce=17.12.0~ce-0~ubuntu

以下命令将列出您可用的版本列表。你可以从上到下一个接一个地尝试。

apt-cache madison docker-ce
于 2018-03-30T12:52:24.917 回答
13

我在Linux MintUbuntu 16.04(Xenial Xerus))上。

我有完全相同的错误。

解决方案来自这里: https ://docs.docker.com/install/linux/docker-ce/ubuntu/#install-docker-ce-1

我认为您需要这样的特定版本(我选择xenial版本 - 最新):

patrikx3@workstation:~$ sudo -i
[sudo] password for patrikx3:
root@workstation:~# apt-cache madison docker-ce
 docker-ce | 17.12.1~ce-0~ubuntu | https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages
 docker-ce | 17.12.0~ce-0~ubuntu | https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages
 docker-ce | 17.09.1~ce-0~ubuntu | https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages
 docker-ce | 17.09.0~ce-0~ubuntu | https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages
 docker-ce | 17.06.2~ce-0~ubuntu | https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages
 docker-ce | 17.06.1~ce-0~ubuntu | https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages
 docker-ce | 17.06.0~ce-0~ubuntu | https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages
 docker-ce | 17.03.2~ce-0~ubuntu-xenial | https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages
 docker-ce | 17.03.1~ce-0~ubuntu-xenial | https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages
 docker-ce | 17.03.0~ce-0~ubuntu-xenial | https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages
root@workstation:~# apt install docker-ce=17.03.2~ce-0~ubuntu-xenial
Reading package lists... Done
Building dependency tree
Reading state information... Done
docker-ce is already the newest version (17.03.2~ce-0~ubuntu-xenial).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
root@workstation:~#

对于纯粹的人来说,ubuntu它不起作用。

于 2018-03-01T17:51:39.327 回答
8

对我来说最好的解决方案是自己添加 libseccomp2 的存储库并更新包,然后我不必更改 Docker 站点教程上的步骤。

我使用了 Debian 软件包的链接(https://packages.debian.org/pt-br/sid/libseccomp2)。

在我的情况下,我需要 2.4 版本,所以在下载部分我单击amd64并按照说明简单地添加 deb http://ftp.de.debian.org/debian sid main /etc/apt/sources.list 文件中。

之后我跑了:

$ sudo apt-get install libseccomp2

并且库已更新,我完美安装了 Docker。

于 2019-12-28T14:34:08.927 回答
6

我发现codersquirrel 的回答很有帮助。

只是为了添加它。

执行以下操作

运行以下命令以添加 libseccomp2 存储库:

add-apt-repository "deb http://ftp.de.debian.org/debian sid main"

更新您的 apt 存储库:

apt-get update

安装 libseccomp2:

apt-get install libseccomp2

就这样。

我希望这有帮助

于 2020-04-12T11:05:08.413 回答
5

我在Linux Mint 18.3 上遇到了同样的问题。我从以下位置手动安装:http: //launchpadlibrarian.net/344879847/libseccomp2_2.3.1-2.1ubuntu2~16.04.1_amd64.deb

我没有删除旧版本。

安装 libseccomp2 后,安装 docker-ce 就像一个魅力。

于 2018-04-10T15:30:46.033 回答
4

我有一个类似的问题。我使用aptitude而不是apt

$ sudo aptitude install docker-ce

跳过任何解决方案并接受它声称可以解决任何冲突依赖项的解决方案:

The following actions will resolve these dependencies:

     Install the following packages:                    
1)     docker-ce [17.04.0~ce-0~debian-stretch (stretch)]



Accept this solution? [Y/n/q/?] y

让我们aptitude做它的工作,然后它应该安装docker-ce.

$ docker --version
Docker version 17.04.0-ce, build 4845c56
于 2018-01-02T14:43:20.587 回答
4

对于Ubuntu 16.04.1 (Xenial Xerus) 或更新版本,libseccomp2 存在于 Xenial 更新的 2.3 版中。要安装它,请检查您是否已检查:

系统设置软件和更新→ *更新:推荐更新

然后:

sudo apt update
sudo apt upgrade
于 2018-01-12T22:17:26.247 回答
3

我从我们的运营中获得了一台 Ubuntu 服务器,并且遇到了同样的问题。

当我开始挖掘时,它出现在文件/etc/apt/sources.list 中,包存储库的 URL 已损坏。

就我而言,它是:

deb http://ubuntu-mirror/ubuntu/ xenial universe

在每一行中将ubuntu-mirror更改为de.archive.ubuntu.com后,您将获得一个包含 URL的有效/etc/apt/sources.list文件。

deb http://de.archive.ubuntu.com/ubuntu/ xenial universe

然后

sudo apt update
sudo apt upgrade
sudo apt install -y docker-ce

PS:Operations 将旧的Ubuntu 10.04 (Lucid Lynx) 更新为Ubuntu 16.04 (Xenial Xerus),更新后存储库被破坏。

于 2018-03-21T15:53:01.813 回答
1
sudo apt-get install -y libltdl7 libseccomp2
于 2019-10-09T08:30:00.337 回答
1

您可以在apt --fix-broken install没有任何包的情况下运行,也可以指定它。

于 2019-10-30T13:20:37.323 回答
0

你可以sudo apt-get -f install docker-ce docker-ce-cli用力跑。

于 2020-07-24T20:19:48.523 回答
0

在仿生 Ubuntu 18 上, 通过以下链接安装更新的软件包libseccomp2 2.4.3为我解决了

https://launchpad.net/ubuntu/bionic/+package/libseccomp2

于 2021-11-10T10:54:43.377 回答