Linux(Manjaro)のDockerは、システムアップデート後にソケットの場所を/var/run/docker.sockから/run/docker.socに変更しました。 - dockerが機能しません。

Linux(Manjaro)のDockerは、システムアップデート後にソケットの場所を/var/run/docker.sockから/run/docker.socに変更しました。 - dockerが機能しません。

システムとアプリケーションを定期的に更新した後、docker(およびdocker-composeプラグイン)は機能しません。

permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock

sudo ls -la /var/run/docker.sock を使用する場合:

/var/run/docker.sock: No such file or directory (os error 2).

sudo systemctl status dockerを使用すると、他の場所にソケットが表示されます。

level=info msg="API listen on /run/docker.sock"

現在はリンクソリューションのみを使用しています。

sudo ln -s /run/docker.sock /var/run/docker.sock 

Makeソケットアドレスはどこにありますか?このために変更できる設定はありますか?

ありがとうございます。

答え1

この更新プログラムの一部でこの問題が発生しました。とにかく、常に物理ディレクトリに/var/runシンボリックリンクする必要があるため、ドッカーソケットは正しい場所にありません。/run

次の手順で問題を解決できました。

  1. Dockerの停止/無効化/削除

    • sudo systemctl stop docker
    • sudo systemctl disable docker
    • sudo pacman -Rs docker
  2. 再起動

  3. sudo rm -rf /var/run

  4. 再起動。

  5. /var/runもう別のシンボリックリンク

    ls -al /var/run 
    lrwxrwxrwx 1 root root 6 Sep 19 14:04 /var/run -> ../run
    
  6. Dockerを再インストール/開始/有効にします。

    • sudo pacman -S docker
    • sudo systemctl start docker
    • sudo systemctl enable docker
  7. docker.sockこれで、/rundocker グループの docker コマンドが再度正しく実行されます。

    ls -al /var/run/docker.sock
    srw-rw---- 1 root docker 0 Sep 19 14:06 /var/run/docker.sock
    

答え2

簡単に:

ln -sv /run /var/run

それ以上も以下でもない。

関連情報