web-dev-qa-db-ja.com

docker-ceインストール後サブプロセスが終了しない

公式のDocker Documentation リポジトリを使用 に記載されている指示に従ってdocker-ceをインストールしようとしました。この時点でインストールが停止しました:

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のインストールに関する情報:

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
Franco

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

dockerジョブが実行されている場合は、強制終了します。

Sudo systemctl kill docker.service

オーバーライドが定義されていないことを確認してください。

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

例えばコマンドのオーバーライド(17.03リリースで使用):

ExecStart=/usr/bin/docker daemon

/usr/bin/dockerdの代わりに。続行する前に、残りのdockerプロセスを必ず終了してください。

ps aux | grep "[d]ockerd"

残りのDockerデーモンプロセスを停止します(ある場合):

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

以前のdockerバージョン(docker.iodocker-engineなど)からアップグレードする場合、または基礎となるファイルストレージを変更する場合は、新しいバージョンをインストールする前にすべてのdockerデータを削除する方が安全です。

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

壊れたインストールを修正するには、Sudo dpkg --configure -aを実行し、docker.serviceを起動するだけです。

5
Tombart

昨日も同じ問題がありました。サーバーを再起動しました:

Sudo reboot

再構成されたパッケージ:

Sudo dpkg --configure -a

そして、問題は解決されました。

1
Ndianabasi

postgresql-9.5パッケージに問題があるようです。そのパッケージを削除した後、docker-ceをインストールしようとします。また、docker-ceパッケージの新しいバージョンが利用可能です(17.12)。

私は同じ問題に直面しました。これは、Dockerを完全に削除するために行ったすべての手順です。私はそれが役立つことを願っています

Dockerサービスの停止

service docker stop

中断インストール後のロックの削除

rm /var/lib/dpkg/lock

復元中

dpkg --configure -a

Dpkgがスタックした場合、別の端末からdockerサービスを停止します

service docker stop 

すべてのdockerパッケージの削除とクリーニング

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
PilgrimViis