Tentei instalar docker-ce
seguindo as instruções fornecidas na documentação oficial do Dockerusando o repositório. A instalação travou neste ponto:
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
Depois de esperar muito tempo interrompi o processo com sudo killall apt-get
. Agora, sempre que tento usar um comando que usa o apt-get, ele dirá o seguinte:
E: dpkg was interrupted, you must manually run 'sudo dpkg --configure -a' to correct the problem.
Quando executo esse comando, ele apenas começa a executar o comando original que nunca termina. Neste ponto, eu só quero resolver isso, mesmo sem conseguir rodar o Docker (eu só queria experimentar).
Eu já tentei a maioria das respostas para issopergunta relacionada. Não consigo nem usar sudo apt-get remove docker-ce
porque estou com o mesmo problema.
Algumas informações sobre a instalação do docker:
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
Estou executando o Ubuntu 16.04
Responder1
Parece que docker-ce
está travando no início do serviço:
\_ 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
O processo de matança systemctl start docker.service
deve ser suficiente:
sudo kill -9 $(ps aux | grep "systemctl start docker.service" | head -n 1 | awk '{print $2}')
verifique os trabalhos do systemd:
sudo systemctl list-jobs
JOB UNIT TYPE STATE
2831057 docker.service start running
se algum trabalho do docker estiver em execução, elimine-o:
sudo systemctl kill docker.service
Certifique-se de verificar se você não tem nenhuma substituição definida:
/etc/systemd/system/docker.service.d/
por exemplo, substituindo o comando para (usado no 17.03
lançamento):
ExecStart=/usr/bin/docker daemon
em vez de /usr/bin/dockerd
. Antes de continuar, certifique-se de eliminar qualquer processo docker restante:
ps aux | grep "[d]ockerd"
pare o processo restante do daemon do Docker (se houver):
sudo kill -9 $(ps aux | grep "[d]ockerd" | head -n 1 | awk '{print $2}')
Se você estiver atualizando da versão anterior do docker ( docker.io
, docker-engine
etc.) ou apenas alterando o armazenamento de arquivos subjacente, é mais seguro excluir todos os dados do docker antes de instalar a nova versão.
sudo rm -rf /var/lib/docker
sudo apt install docker-ce
Para consertar uma instalação quebrada, basta executar sudo dpkg --configure -a
e docker.service
iniciar.
Responder2
Eu enfrentei o mesmo problema, aqui estão todas as etapas que executei para remover completamente o docker. Espero que ajude
Parando serviços docker
service docker stop
Removendo bloqueios, após instalação interrompida
rm /var/lib/dpkg/lock
Restaurando
dpkg --configure -a
Se o dpkg travar, pare o serviço docker em um terminal diferente
service docker stop
Removendo todos os pacotes do Docker e limpando
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
Remova todos os arquivos relacionados ao docker
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
Opcional, atualizando pacotes
apt-get update / upgrade / dist-upgrade
Reiniciando
reboot
Responder3
Eu tive esse mesmo problema ontem. Eu reiniciei o servidor:
sudo reboot
e pacotes reconfigurados:
sudo dpkg --configure -a
E o problema foi resolvido.
Responder4
Eu tive exatamente o mesmo problema e resolvi da seguinte maneira (a origem do meu problema foi atualizar para o docker da versão mais antiga para a mais recente):
1.- Pare o serviço docker (que está tentando iniciar o comando daemon errado): systemctl stop docker.service
2.- Modifique a sintaxe de comando do docker daemon em (que mudou da versão antiga para a mais recente): /etc/systemd/system/docker.service.d/50-docker_dns.conf de: ExecStart=/usr/bin/docker daemon .. . para: ExecStart=/usr/bin/dockerd ...
3.- Reinicie o docker daemon para que a nova configuração seja carregada: systemctl start docker.service