Docker for Mac (ver.4.35以降) で 「Failed to get D-Bus connection: No such file or directory 」が発生したときの対処法

こんにちは! @ikkitang です。

Docker for Mac を使って古い環境の開発を進めていく中で systemctl コマンドを実行したときに Failed to get D-Bus connection: No such file or directory というエラーにハマりました。 (半日ぐらい ... )

備忘録として記載しておこうと思います。

Docker for Mac の Version.4.35 より前のバージョンをお使いの方は以下のブログにて解決できます。 ありがたいですね。

zenn.dev

一方で Version.4.35.0 以降のバージョンより触るJSONファイルの場所が変わっています。

記事では、 ~/Library/Group\ Containers/group.com.docker/settings.json を触るという事となっていますが、それを触っても反映されません。 ~/Library/Group\ Containers/group.com.docker/settings-store.json を触る必要があります。

# デフォルトは false(v1を使わない) 設定
% cat ~/Library/Group\ Containers/group.com.docker/settings-store.json|grep DeprecatedCgroupv1
  "DeprecatedCgroupv1": false,

# false --> true に変更
% vi ~/Library/Group\ Containers/group.com.docker/settings-store.json
% cat ~/Library/Group\ Containers/group.com.docker/settings-store.json|grep DeprecatedCgroupv1
  "DeprecatedCgroupv1": true,

これをした後で、Docker for Mac を再起動する事で反映が完了します。


Version.4.35.0 以降で何が変わるか、というところですが、 Release notes を見る事で把握する事が出来ます。

docs.docker.com

settings.json has been renamed to settings-store.json

上記の記載の通りで、 settings.json というのは settings-store.json に rename されたとの事でした。 そのため、settings-store.json を触る必要があったんですね。


幸せになる方がいれば幸いです。