Не удалось установить Docker в Ubuntu 19.10

У меня была старая версия докера на моем сервере Ubuntu 19.10, и она работала просто отлично. Я удалил эту старую установку докера и попытался установить самую последнюю версию, используя руководство на https://docs.docker.com/engine/install/ubuntu/

Установка завершается неудачно, когда служба контейнера не может выполнить Начало. При попытке запуска containerd возникает следующая ошибка:

/usr/bin/containerd: symbol lookup error: /usr/bin/containerd: undefined symbol: seccomp_api_set

Вот ошибка во время установки:

    invoke-rc.d: initscript docker, action "start" failed.
● docker.service - Docker Application Container Engine
   Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
   Active: inactive (dead) since Thu 2020-05-07 08:37:28 EDT; 15ms ago
     Docs: https://docs.docker.com
  Process: 17336 ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock (code=killed, signal=TERM)
 Main PID: 17336 (code=killed, signal=TERM)

May 07 08:37:28 teddy-server systemd[1]: Starting Docker Application Container Engine...
May 07 08:37:28 teddy-server systemd[1]: docker.service: Main process exited, code=killed, status=15/TERM
May 07 08:37:28 teddy-server systemd[1]: docker.service: Succeeded.
May 07 08:37:28 teddy-server systemd[1]: Stopped Docker Application Container Engine.
dpkg: error processing package docker-ce (--configure):
 installed docker-ce package post-installation script subprocess returned error exit status 1
Processing triggers for systemd (242-7ubuntu3.7) ...
Processing triggers for man-db (2.8.7-3) ...
Processing triggers for ureadahead (0.100.0-21) ...
Processing triggers for libc-bin (2.30-0ubuntu2.1) ...
Errors were encountered while processing:
 docker-ce
E: Sub-process /usr/bin/dpkg returned an error code (1)

И journalctl -xe:

Defined-By: systemd
-- Support: http://www.ubuntu.com/support
-- 
-- A start job for unit containerd.service has finished successfully.
-- 
-- The job identifier is 34974.
May 07 08:37:28 teddy-server systemd[1]: Listening on Docker Socket for the API.
-- Subject: A start job for unit docker.socket has finished successfully
-- Defined-By: systemd
-- Support: http://www.ubuntu.com/support
-- 
-- A start job for unit docker.socket has finished successfully.
-- 
-- The job identifier is 34894.
May 07 08:37:28 teddy-server systemd[1]: Starting Docker Application Container Engine...
-- Subject: A start job for unit docker.service has begun execution
-- Defined-By: systemd
-- Support: http://www.ubuntu.com/support
-- 
-- A start job for unit docker.service has begun execution.
-- 
-- The job identifier is 34891.
May 07 08:37:28 teddy-server containerd[17335]: /usr/bin/containerd: symbol lookup error: /usr/bin/containerd: undefined symbol: seccomp_api_set
May 07 08:37:28 teddy-server systemd[1]: containerd.service: Main process exited, code=exited, status=127/n/a
-- Subject: Unit process exited
-- Defined-By: systemd
-- Support: http://www.ubuntu.com/support
-- 
-- An ExecStart= process belonging to unit containerd.service has exited.
-- 
-- The process' exit code is 'exited' and its exit status is 127.
May 07 08:37:28 teddy-server systemd[1]: containerd.service: Failed with result 'exit-code'.
-- Subject: Unit failed
-- Defined-By: systemd
-- Support: http://www.ubuntu.com/support
-- 
-- The unit containerd.service has entered the 'failed' state with result 'exit-code'.
May 07 08:37:28 teddy-server systemd[1]: docker.service: Main process exited, code=killed, status=15/TERM
-- Subject: Unit process exited
-- Defined-By: systemd
-- Support: http://www.ubuntu.com/support
-- 
-- An ExecStart= process belonging to unit docker.service has exited.
-- 
-- The process' exit code is 'killed' and its exit status is 15.
May 07 08:37:28 teddy-server systemd[1]: docker.service: Succeeded.
-- Subject: Unit succeeded
-- Defined-By: systemd
-- Support: http://www.ubuntu.com/support
-- 
-- The unit docker.service has successfully entered the 'dead' state.
May 07 08:37:28 teddy-server systemd[1]: Stopped Docker Application Container Engine.
-- Subject: A stop job for unit docker.service has finished
-- Defined-By: systemd
-- Support: http://www.ubuntu.com/support
-- 
-- A stop job for unit docker.service has finished.

Я нахожусь в тупике. Пожалуйста, помогите!

РЕДАКТИРОВАТЬ:

ldd / usr / bin / containerd | grep local ничего не возвращает.

apt-cache policy libseccomp2 возвращает:

libseccomp2:
  Installed: 2.4.1-0ubuntu0.19.10.3
  Candidate: 2.4.1-0ubuntu0.19.10.3
  Version table:
 *** 2.4.1-0ubuntu0.19.10.3 500
        500 http://archive.ubuntu.com/ubuntu eoan/main amd64 Packages
        100 /var/lib/dpkg/status

apt-cache policy $ (dpkg -S / usr / bin / containerd) возвращает:

containerd.io:
  Installed: 1.2.13-1
  Candidate: 1.2.13-1
  Version table:
 *** 1.2.13-1 500
        500 https://download.docker.com/linux/ubuntu disco/stable amd64 Packages
        100 /var/lib/dpkg/status
     1.2.13-1 500
        500 https://download.docker.com/linux/ubuntu eoan/nightly amd64 Packages
        500 https://download.docker.com/linux/ubuntu eoan/stable amd64 Packages
     1.2.12-1 500
        500 https://download.docker.com/linux/ubuntu eoan/nightly amd64 Packages
     1.2.11-2 500
        500 https://download.docker.com/linux/ubuntu eoan/nightly amd64 Packages
     1.2.11-1 500
        500 https://download.docker.com/linux/ubuntu eoan/nightly amd64 Packages
     1.2.10-3 500
        500 https://download.docker.com/linux/ubuntu disco/stable amd64 Packages
     1.2.10-2 500
        500 https://download.docker.com/linux/ubuntu disco/stable amd64 Packages
     1.2.6-3 500
        500 https://download.docker.com/linux/ubuntu disco/stable amd64 Packages
     1.2.5-1 500
        500 https://download.docker.com/linux/ubuntu disco/stable amd64 Packages
N: Unable to locate package /usr/bin/containerd

dpkg - S / usr / bin / containerd возвращает:

containerd.io: /usr/bin/containerd

grep -ir docker / etc / apt / --include = "*. List" возвращает:

/etc/apt/sources.list:deb [arch=amd64] https://download.docker.com/linux/ubuntu eoan stable 
/etc/apt/sources.list:# deb-src [arch=amd64] https://download.docker.com/linux/ubuntu eoan stable
2
задан 7 May 2020 в 19:10

2 ответа

Я наконец решил эту проблему.

Сначала я искал связанные с libseccomp каталоги, используя sudo find / -name '* libseccomp *'

Я обнаружил, что у меня установлены старые версии libseccomp в /lib/x86_64-linux-gnu/libseccomp.so.2.3.1 и /lib/x86_64-linux-gnu/libseccomp.so.2

Я удалил обе эти директории и после перезагрузки я смог успешно установить Docker, используя официальную документацию.

1
ответ дан 19 June 2020 в 21:42

Добавить ключ Docker PGP:

curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -

Сконфигурировать хранилище Docker apt:

echo 'deb [arch=amd64] https://download.docker.com/linux/debian buster stable' | sudo tee /etc/apt/sources.list.d/docker.list

Обновить APT:

sudo apt-get update

Если вы Если у вас установлены более старые версии Docker, удалите их:

sudo apt-get remove docker docker-engine docker.io

Установить Docker:

sudo apt-get install docker-ce

Тест:

sudo docker run hello-world

Запустить Docker:

sudo systemctl start docker

Включить Docker во время загрузки:

sudo systemctl enable docker

Разрешить некорневым пользователям использовать Docker:

sudo usermod -aG docker $USER

Теперь выйдите и войдите обратно

0
ответ дан 19 June 2020 в 21:42

Другие вопросы по тегам:

Похожие вопросы: