公式の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を実行しています
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.io
、docker-engine
など)からアップグレードする場合、または基礎となるファイルストレージを変更する場合は、新しいバージョンをインストールする前にすべてのdockerデータを削除する方が安全です。
Sudo rm -rf /var/lib/docker
Sudo apt install docker-ce
壊れたインストールを修正するには、Sudo dpkg --configure -a
を実行し、docker.service
を起動するだけです。
昨日も同じ問題がありました。サーバーを再起動しました:
Sudo reboot
再構成されたパッケージ:
Sudo dpkg --configure -a
そして、問題は解決されました。
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