docker-ce : зависит: libseccomp2 (›= 2.3.0), но необходимо установить 2.2.3-3ubuntu3

Я устанавливаю Docker на свой компьютер с Ubuntu и следую этому руководству Установить Docker Engine в Ubuntu

Когда я запускаю 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

person Muhammad Ateek    schedule 28.12.2017    source источник
comment
это вопрос Ubuntu, его лучше задать на askubuntu.com ... когда вы погуглили "у вас есть сломанные пакеты" ... проблема это... sudo apt-get -f установить   -  person Scott Stensland    schedule 28.12.2017


Ответы (12)


Я сталкиваюсь с той же проблемой при установке docker-ce версии 18. Я не буду использовать aptitude для установки старой версии, потому что nvidia-docker поддерживает только версию Docker выше 18!

Решение довольно простое:

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

person ChenYang    schedule 26.11.2018
comment
Это работает для ubuntu14.04 при установке докера 18.06.3/стабильной версии, спасибо - person zqcolor; 11.10.2019
comment
Я застрял со старой установкой 16.04, и это было именно то, что мне было нужно. - person Jeffrey Van Alstine; 06.10.2020

У меня была такая же проблема в 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
person Bhargav Patel    schedule 30.03.2018
comment
У меня есть докер версии 1.x, и я устанавливаю докер каждый раз только в версии 1.x. После выполнения этого шага я получил докер версии 17.x, спасибо. - person Kiran; 03.02.2020

Я использую Linux Mint (Ubuntu 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 это не работало.

person Patrik Laszlo    schedule 01.03.2018
comment
Я не думаю, что Ubuntu основана на Linux Mint (скорее на Debian). - person Peter Mortensen; 15.08.2020

Лучшим решением для меня было просто добавить репозиторий 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.

person schirrel    schedule 28.12.2019

У меня те же проблемы в Linux Mint 18.3. Я устанавливал вручную с: http://launchpadlibrarian.net/344879847/libseccomp2_2.3.1-2.1ubuntu2%7E16.04.1_amd64.deb

Я не удалял старую версию.

После установки libseccomp2 установка docker-ce работала как часы.

person Pamungkas Jayuda    schedule 10.04.2018

У меня была похожая проблема. Я справился с использованием 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
person ritiek    schedule 02.01.2018
comment
root@workstation:~# aptitude install docker-ce Будут установлены следующие НОВЫЕ пакеты: docker-ce{b} Принять это решение? [Y/n/q/?] y Никакие пакеты не будут установлены, обновлены или удалены. 0 обновленных пакетов, 0 новых установленных, 0 для удаления и 0 не обновленных. Нужно получить 0 Б архивов. После распаковки будет использоваться 0 B. - person Patrik Laszlo; 01.03.2018

Для Ubuntu 16.04.1 (Xenial Xerus) или новее: libseccomp2 существует в версии 2.3 в обновлениях Xenial. Чтобы установить его, проверьте, проверили ли вы:

Системные настройкиПрограммное обеспечение и обновления → *Обновления: рекомендуемые обновления

Затем:

sudo apt update
sudo apt upgrade
person Radek    schedule 12.01.2018
comment
Это также справедливо для 18.04, не нужно было делать обновление, но добавление рекомендуемых обновлений (Ubuntu Updates Main amd64) добавило список, который содержал последнюю версию libseccomp2, требуемую докером. - person Arruda; 07.02.2020

Я нашел ответ codersquirrel очень полезным.

Просто чтобы добавить к этому.

Выполните следующие действия:

Запустите команду ниже, чтобы добавить репозиторий libseccomp2:

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

Обновите репозиторий apt:

apt-get update

Установите libseccomp2:

apt-get install libseccomp2

Это все.

Надеюсь, это поможет

person Promise Preston    schedule 12.04.2020

Я получил сервер Ubuntu от наших операций и столкнулся с той же проблемой.

Когда я начал копать, оказалось, что в файле /etc/apt/sources.list URL-адреса репозиториев пакетов битые.

В моем случае это было:

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

После изменения ubuntu-mirror на de.archive.ubuntu.com в каждой строке вы получите действительный /etc/apt/sources.list. > файл с URL.

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), а репозитории были повреждены после обновления.

person Tymur Kubai aka SirDiR    schedule 21.03.2018
comment
это правда, на самом деле мне пришлось сменить зеркало, и теперь я мог обновить докер до docker-ce 18. странно, раньше я использовал только 17.03.2~ce-0~ubuntu-xenial с apt-cache madison docker-ce , что бы у меня работало это ubuntu-xenial, но я обновил зеркала и вот в чем проблема!!!! - person Patrik Laszlo; 24.03.2018

Вы можете запустить apt --fix-broken install без каких-либо пакетов или указать это.

person Rafael Marques    schedule 30.10.2019

Вы можете запустить sudo apt-get -f install docker-ce docker-ce-cli с силой.

person Sajeevan Vinayakavaseerakan    schedule 24.07.2020
comment
Что вы имеете в виду под силой? Вероятно, это относится к флагу -f, но, возможно, перефразировать (путем редактирования вашего ответа)? - person Peter Mortensen; 15.08.2020

person    schedule
comment
Объяснение было бы в порядке. - person Peter Mortensen; 15.08.2020