Подпроцесс установки докеры-ce не завершается

Я попытался установить docker-ce в соответствии с инструкциями, представленными в официальной документации Docker, используя репозиторий. В этот момент установка застряла: Setting up docker-ce (17.09.0~ce-0~ubuntu) ... insserv: warning: script 'K01postgresql-9.5' missing LSB tags and overrides insserv: warning: script 'postgresql-9.5' missing LSB tags and overrides

После долгого ожидания я прервал процесс с помощью sudo killall apt-get. Теперь, когда я пытаюсь использовать команду, использующую apt-get, она скажет следующее:

E: dpkg was interrupted, you must manually run 'sudo dpkg --configure -a' to correct the problem.

Когда я запускаю эту команду, она просто запускает исходную команду, которая никогда не заканчивается. На данный момент я просто хочу решить это, даже не имея возможности запустить Docker (я просто хотел попробовать его).

Я уже пробовал большинство ответов для этого , используя репозиторий . Я даже не могу использовать sudo apt-get remove docker-ce, потому что сталкиваюсь с той же проблемой.

Некоторая информация о установке докера:

docker.service - Docker Application Container Engine Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: e Drop-In: /etc/systemd/system/docker.service.d └─ubuntu.conf Active: activating (start) since mié 2017-11-22 15:38:31 CST; 7min ago Docs: https://docs.docker.com Main PID: 1431 (docker) Tasks: 6 Memory: 18.4M CPU: 21ms CGroup: /system.slice/docker.service └─1431 /usr/bin/docker -d -H fd:// docker-ce: Installed: 17.09.0~ce-0~ubuntu Candidate: 17.09.0~ce-0~ubuntu Version table: *** 17.09.0~ce-0~ubuntu 100 100 /var/lib/dpkg/status

Я запускаю Ubuntu 16.04

5
задан 23 November 2017 в 01:57

12 ответов

Похоже, что docker-ce висит при запуске службы:

 \_ apt install docker-ce
     \_ /usr/bin/dpkg --status-fd 64 --configure --pending
         \_ /bin/sh /var/lib/dpkg/info/docker-ce.postinst configure
             \_ /bin/sh /usr/sbin/invoke-rc.d docker start
                 \_ systemctl start docker.service
                     \_ /bin/systemd-tty-ask-password-agent --watch

Процесс убийства systemctl start docker.service должен быть достаточным:

sudo kill -9 $(ps aux | grep "systemctl start docker.service" | head -n 1 | awk '{print $2}')

проверить работу systemd:

sudo systemctl list-jobs
    JOB UNIT           TYPE  STATE  
2831057 docker.service start running

, если какое-либо задание докера запущено, убейте его:

sudo systemctl kill docker.service

Убедитесь, что у вас нет каких-либо переопределений:

/etc/systemd/system/docker.service.d/

, например, переопределяя команду (используется в релизе 17.03):

ExecStart=/usr/bin/docker daemon

вместо /usr/bin/dockerd. Прежде чем продолжить, не забудьте убить любой оставшийся процесс докер:

ps aux | grep "[d]ockerd"

остановить оставшийся процесс демонстрации Docker (если есть):

sudo kill -9 $(ps aux | grep "[d]ockerd" | head -n 1 | awk '{print $2}')

Если вы обновляетесь с предыдущего докера (docker.io, docker-engine и т. д.) или просто заменяя основное хранилище файлов, безопаснее удалить все данные докеров перед установкой новой версии.

sudo rm -rf /var/lib/docker
sudo apt install docker-ce

Чтобы исправить неисправную установку, просто запустите sudo dpkg --configure -a и docker.service.

2
ответ дан 22 May 2018 в 15:58
  • 1
    systemctl показывает docker.service. Тем не менее, он все еще работает после запуска команды kill. То же самое с процессом bin/docker. /etc/systemd/system/docker.service.d/ubuntu.conf имеет следующее: [Service]\n # workaround to include default options\n EnvironmentFile=/etc/default/docker\n ExecStart=\n ExecStart=/usr/bin/docker -d -H fd:// $DOCKER_OPTS\n Я действительно не понимаю, что это делает. (добавлено \n, чтобы показать разрывы строк) – Franco 1 April 2018 в 19:29
  • 2
    @Franco вы должны удалить /etc/systemd/system/docker.service.d/ubuntu.conf. Обычно конфигурация в /etc/systemd/system переопределяет конфигурацию, предоставляемую пакетом. Было несколько изменений в упаковке Docker, поэтому было бы безопаснее удалить эти переопределения. – Tombart 3 April 2018 в 19:04
  • 3
    есть немного предостережения с вашими йомандами: ps aux | grep "bin/docker" находит сам процесс grep. Но в конце концов, sudo rm -rf /var/lib/docker сделал трюк - спасибо! – Xerus 6 May 2018 в 22:10
  • 4
    @Xerus. Вы правы, я обновил ответ, чтобы было ясно, что мы убиваем процесс dockerd. – Tombart 7 May 2018 в 10:18

Похоже, что docker-ce висит при запуске службы:

\_ apt install docker-ce \_ /usr/bin/dpkg --status-fd 64 --configure --pending \_ /bin/sh /var/lib/dpkg/info/docker-ce.postinst configure \_ /bin/sh /usr/sbin/invoke-rc.d docker start \_ systemctl start docker.service \_ /bin/systemd-tty-ask-password-agent --watch

Процесс убийства systemctl start docker.service должен быть достаточным:

sudo kill -9 $(ps aux | grep "systemctl start docker.service" | head -n 1 | awk '{print $2}')

проверить работу systemd:

sudo systemctl list-jobs JOB UNIT TYPE STATE 2831057 docker.service start running

, если какое-либо задание докера запущено, убейте его:

sudo systemctl kill docker.service

Убедитесь, что у вас нет каких-либо переопределений:

/etc/systemd/system/docker.service.d/

, например, переопределяя команду (используется в релизе 17.03):

ExecStart=/usr/bin/docker daemon

вместо /usr/bin/dockerd. Прежде чем продолжить, не забудьте убить любой оставшийся процесс докер:

ps aux | grep "[d]ockerd"

остановить оставшийся процесс демонстрации Docker (если есть):

sudo kill -9 $(ps aux | grep "[d]ockerd" | head -n 1 | awk '{print $2}')

Если вы обновляетесь с предыдущего докера (docker.io, docker-engine и т. д.) или просто заменяя основное хранилище файлов, безопаснее удалить все данные докеров перед установкой новой версии.

sudo rm -rf /var/lib/docker sudo apt install docker-ce

Чтобы исправить неисправную установку, просто запустите sudo dpkg --configure -a и docker.service.

2
ответ дан 18 July 2018 в 02:47

Похоже, что docker-ce висит при запуске службы:

\_ apt install docker-ce \_ /usr/bin/dpkg --status-fd 64 --configure --pending \_ /bin/sh /var/lib/dpkg/info/docker-ce.postinst configure \_ /bin/sh /usr/sbin/invoke-rc.d docker start \_ systemctl start docker.service \_ /bin/systemd-tty-ask-password-agent --watch

Процесс убийства systemctl start docker.service должен быть достаточным:

sudo kill -9 $(ps aux | grep "systemctl start docker.service" | head -n 1 | awk '{print $2}')

проверить работу systemd:

sudo systemctl list-jobs JOB UNIT TYPE STATE 2831057 docker.service start running

, если какое-либо задание докера запущено, убейте его:

sudo systemctl kill docker.service

Убедитесь, что у вас нет каких-либо переопределений:

/etc/systemd/system/docker.service.d/

, например, переопределяя команду (используется в релизе 17.03):

ExecStart=/usr/bin/docker daemon

вместо /usr/bin/dockerd. Прежде чем продолжить, не забудьте убить любой оставшийся процесс докер:

ps aux | grep "[d]ockerd"

остановить оставшийся процесс демонстрации Docker (если есть):

sudo kill -9 $(ps aux | grep "[d]ockerd" | head -n 1 | awk '{print $2}')

Если вы обновляетесь с предыдущего докера (docker.io, docker-engine и т. д.) или просто заменяя основное хранилище файлов, безопаснее удалить все данные докеров перед установкой новой версии.

sudo rm -rf /var/lib/docker sudo apt install docker-ce

Чтобы исправить неисправную установку, просто запустите sudo dpkg --configure -a и docker.service.

2
ответ дан 24 July 2018 в 17:39

Похоже, что у вас проблемы с пакетом postgresql-9.5, я попытаюсь установить docker-ce после очистки этого пакета. Также доступна новая версия пакета docker-ce (17.12).

0
ответ дан 22 May 2018 в 15:58

Вчера у меня был такой же вопрос. Я перезагрузил сервер:

sudo reboot

и реконфигурированные пакеты:

sudo dpkg --configure -a

И проблема была решена.

0
ответ дан 22 May 2018 в 15:58

Я столкнулся с той же проблемой, вот все шаги, которые я сделал, чтобы полностью удалить докер. Я надеюсь, что это поможет

Остановить службы докеров

service docker stop

Удаление блокировок после перепостановленной установки

rm /var/lib/dpkg/lock

Восстановление

dpkg --configure -a

Если dpkg застрял, с другого терминала остановите службу докеров

service docker stop 

Удаление всех пакетов докеров и очистка

apt-get remove docker docker-engine docker.io docker-ce
apt-get purge docker docker-engine docker.io docker-ce
apt-get autoremove
apt-get autoclean

Удалите все файлы, связанные с докером

[ f6]

Необязательно, обновление пакетов

apt-get update / upgrade / dist-upgrade

Перезагрузка

reboot
0
ответ дан 22 May 2018 в 15:58

Похоже, что у вас проблемы с пакетом postgresql-9.5, я попытаюсь установить docker-ce после очистки этого пакета. Также доступна новая версия пакета docker-ce (17.12).

0
ответ дан 18 July 2018 в 02:47

Вчера у меня был такой же вопрос. Я перезагрузил сервер:

sudo reboot

и реконфигурированные пакеты:

sudo dpkg --configure -a

И проблема была решена.

0
ответ дан 18 July 2018 в 02:47

Я столкнулся с той же проблемой, вот все шаги, которые я сделал, чтобы полностью удалить докер. Я надеюсь, что это поможет

Остановить службы докеров

service docker stop

Удаление блокировок после перепостановленной установки

rm /var/lib/dpkg/lock

Восстановление

dpkg --configure -a

Если dpkg застрял, с другого терминала остановите службу докеров

service docker stop

Удаление всех пакетов докеров и очистка

apt-get remove docker docker-engine docker.io docker-ce apt-get purge docker docker-engine docker.io docker-ce apt-get autoremove apt-get autoclean

Удалите все файлы, связанные с докером

rm -rf /lib/systemd/system/docker.service rm -rf /etc/docker rm -rf /var/lib/docker rm -rf /run/docker.sock rm -rf /etc/systemd/system/docker.service.d

Необязательно, обновление пакетов

apt-get update / upgrade / dist-upgrade

Перезагрузка

reboot
0
ответ дан 18 July 2018 в 02:47

Похоже, что у вас проблемы с пакетом postgresql-9.5, я попытаюсь установить docker-ce после очистки этого пакета. Также доступна новая версия пакета docker-ce (17.12).

0
ответ дан 24 July 2018 в 17:39

Вчера у меня был такой же вопрос. Я перезагрузил сервер:

sudo reboot

и реконфигурированные пакеты:

sudo dpkg --configure -a

И проблема была решена.

0
ответ дан 24 July 2018 в 17:39

Я столкнулся с той же проблемой, вот все шаги, которые я сделал, чтобы полностью удалить докер. Я надеюсь, что это поможет

Остановить службы докеров

service docker stop

Удаление блокировок после перепостановленной установки

rm /var/lib/dpkg/lock

Восстановление

dpkg --configure -a

Если dpkg застрял, с другого терминала остановите службу докеров

service docker stop

Удаление всех пакетов докеров и очистка

apt-get remove docker docker-engine docker.io docker-ce apt-get purge docker docker-engine docker.io docker-ce apt-get autoremove apt-get autoclean

Удалите все файлы, связанные с докером

rm -rf /lib/systemd/system/docker.service rm -rf /etc/docker rm -rf /var/lib/docker rm -rf /run/docker.sock rm -rf /etc/systemd/system/docker.service.d

Необязательно, обновление пакетов

apt-get update / upgrade / dist-upgrade

Перезагрузка

reboot
0
ответ дан 24 July 2018 в 17:39

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

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