docker-ce:取决于:libseccomp2(> = 2.3.0)但是要安装2.2.3-3ubuntu3

时间:2017-12-28 06:02:43

标签: ubuntu docker docker-compose ubuntu-16.04 docker-engine

我在我的ubuntu机器上安装docker并且我正在学习本教程 https://docs.docker.com/engine/installation/linux/docker-ce/ubuntu/#extra-steps-for-aufs

当我运行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

13 个答案:

答案 0 :(得分:10)

你好吗?

我在Linux Mint(Ubuntu Xenial)。

我有确切的错误。

解决方案来自这里:
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无效。

答案 1 :(得分:9)

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

hashCode

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

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

sudo apt install docker.io

以下命令将列出您可以从上到下依次尝试的可用版本列表。

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

希望这能解决您的问题。

答案 2 :(得分:8)

在安装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

答案 3 :(得分:3)

我在linux mint 18.3上遇到了同样的问题 我是安装manuall从: http://launchpadlibrarian.net/344879847/libseccomp2_2.3.1-2.1ubuntu2~16.04.1_amd64.deb

我不删除旧版本

安装后,libseccomp2安装docker-ce像acharm一样工作。

答案 4 :(得分:2)

我从我们的操作系统获得ubuntu服务器,具有相同的问题

当开始挖掘时出现的文件比 /etc/apt/sources.list 中的文件包已经破坏了包裹回购

在我的情况下是

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

将每行 ubuntu-mirror 更改为 de.archive.ubuntu.com 后 您将获得有效的 /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

P.S。 ops将旧的10.04更新为16.04并在更新后更新为rend

答案 5 :(得分:2)

我发现codersquirrel's answer很有帮助。

只需添加即可。

执行以下操作

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

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

更新您的apt存储库:

apt-get update

安装libseccomp2:

apt-get install libseccomp2

仅此而已。

我希望这会有所帮助

答案 6 :(得分:1)

我有类似的问题。我使用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

答案 7 :(得分:1)

对于Ubuntu 16.04.1或更新版本在Xenial更新中的ver 2.3中存在libseccomp2, 安装它检查您是否已检查:

系统设置 - >软件&更新 - >更新:推荐更新

然后:

sudo apt update
sudo apt upgrade

答案 8 :(得分:1)

sudo apt-get install -y libltdl7 libseccomp2

答案 9 :(得分:0)

您可以不带任何包运行apt --fix-broken install,也可以指定它。

答案 10 :(得分:0)

使用walk.go:74: found symbolic link in path: ... (paths elided) ...

sudo apt-get install -y libltdl7 libseccomp2

我尝试了上述解决方案,但无法解决我的问题。

答案 11 :(得分:0)

对我来说最好的解决方案是自己添加libseccomp2的存储库并更新打包的文件,那么我不必更改dockers网站教程上的步骤

我使用了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

答案 12 :(得分:0)

您可以强行运行Id