DockerのAmazonLinuxイメージを使ったコンテナで「systemctl」を実行するとエラーが表示される

AWS

DockerでAmazonLinuxイメージを利用してコンテナを作成し「systemctl start httpd」のように「systemctl」を利用してapacheなどを起動しようとすると、以下のエラーが表示されて起動できないことがあります。

$ systemctl start httpd
Failed to get D-Bus connection: No such file or directory

こちらは「systemd」が一定のバージョン以下のOSだと発生してしまう問題のようで、設定ファイルを編集することで解決することができます。

設定ファイルを変更する

  1. Dockerで利用している以下の設定ファイルをテキストエディタなどで開きます。
    ~/Library/Group Containers/group.com.docker/settings.json
    ※ファイルが見つけられない場合は「settings.json」で検索すると見つかります。
  2. 「deprecatedCgroupv1」の値を変更します。
 "deprecatedCgroupv1": fasle,
                  ↓
 "deprecatedCgroupv1": true,

Docker Desktopを再起動する

設定ファイルを変更したら「Docker Desktop」の再起動をしてください。Docker Desktopの再起動をしないと、設定ファイルが再読込されません。

DockerでAmazonLinux2を使う場合、ちょくちょくハマりどころがありますが一度準備できればあとが楽なので頑張りましょう!

それではみなさん、自由なWEBライフをお過ごしください!

タイトルとURLをコピーしました