GNU/Linux >> Linux の 問題 >  >> Linux

Docker コマンドがハングアップし、応答がありません

https://forums.docker.com/t/what-to-do-when-all-docker-commands-hang/28103/4korayhk:

コンテナー イメージ データを再インストールまたは削除する必要はありません。以下を実行するだけです:

最初にサービスを停止してください

sudo service docker stop

Sam からの上記の投稿に記載されているように、いくつかのファイルをクリーンアップします。

sudo rm -rf /var/run/docker
sudo rm /var/run/docker.*"

今すぐサービスを開始

sudo service docker start

Docker イメージを開始する

docker start <container-name>

最初の試行で docker run を実行すると、エラーが表示されます:

デーモンからのエラー応答:無効なヘッダー フィールド値 "oci ランタイム エラー:ID のコンテナーが存在します:7a244b8f5d07081538042ff64aebfe11fac1a36731526e77be53db7d94dca44d\n"エラー:コンテナーの開始に失敗しました:

docker start コマンドをもう一度実行してみてください。エラーなしで魔法のようにコンテナーを稼働させることができます。


ubuntu を 5.8.0-34-generic に更新した後 .同様の問題がありました。それを解決するためのさまざまな試みの後、私の最終的な解決策は、ドッカーを以前の作業バージョンにダウングレードすることでした。以下の手順:

<オール>
  • ドッカーを殺す
  • [email protected]:~# killall dockerd
    [email protected]:~# ps -aux | grep dockerd
    [email protected]:~# kill -9 your docker pid
    
    1. docker ce、cli、container.io を削除
    [email protected]:/home/xyz# apt remove docker-ce docker-ce-cli containerd.io
    
    1. オプションの手順:私の dockerd は常に再起動していたので、ir を無効にする必要がありました。あなたが同じことをするなら。新規インストール後に有効にする必要があります:
    systemctl disable docker
    
    1. 以前のバージョンをチェック:
    [email protected]:/home/xyz# apt-cache madison docker-ce
    
    1. 上記のリストから古いバージョンをインストールします。私の場合は docker-ce 5:19.03.13~3-0~ubuntu-focal です。 :
    [email protected]:/home/xyz# apt install docker-ce=5:19.03.13~3-0~ubuntu-focal
    
    1. オプション:containerd.io と cli もダウングレードする必要がある場合:
    apt install docker-ce=5:19.03.13~3-0~ubuntu-focal containerd.io=1.3.9-1 docker-ce-cli=5:19.03.13~3-0~ubuntu-focal
    
    1. インストールを確認してください:
    whereis docker
    
    systemctl status docker
    

    また、apt upgrade でアップグレードしないように Docker をマークしました コマンド。


    Garreth と steamfood の両方の回答を試しましたが、Invincible が提案したように docker を再インストールしたくありませんでした。システムに何も変更を加えていなかったので、docker 自体のインストールの問題ではなく、構成/コンテナーのセットアップに問題があると考えました。

    systemctl start docker 実行時 またはdockerサービスを開始または停止するための何か、私はログにこれを取得していました( systemctl status docker を実行しています 別のターミナルで):

    Loading containers: start.

    Container ef06fbb157169332c453f503bb2543ce914daf54600f8fa44699fa5833d9eb90 failed to exit

    この時点でハングします。

    これを修正するために、最初に systemctl status docker で特定されたプロセスを強制終了しました sudo kill -9 $PID で .

    次に /var/lib/docker/containers のすべてを削除しました sudo rm -rf /var/lib/docker/containers/* で .

    これにより、問題のあるコンテナーが解消され、それ以降はすべてが機能しました。


    この質問が少し古いことは承知していますが、これを修正するには、次の内容を削除してみてください:

    /var/run/docker/libcontainerd
    

    Linux
    1. 使い始める5つのLinuxコマンド

    2. なぜBashはスペースで始まるコマンドを保存しないのですか?

    3. Ubuntu 16.04 で Docker サービスを開始できない

    1. 一部のDOCKERコマンド

    2. 1つのSudoで一連のコマンドを実行しますか?

    3. docker exec で 2 つのコマンドを実行する

    1. GitBashとは何ですか。 GitBashコマンドの操作

    2. タイムゾーンで開始時間を処理しますか?

    3. Docker コンテナーでサービスを自動的に開始する