![見出し画像](https://assets.st-note.com/production/uploads/images/151345696/rectangle_large_type_2_a9536aa0c844529db090f8c8576db7d5.jpeg?width=1200)
IT エンジニア日記 ~Linux コンテナで systemctl が使えない~ -2024/08/19-
どうも。冷やし中華、はじめさせられました。の短冊にクスッとなった clown です。
始めました!ってアピールじゃない。
はじめさせられた。っていう負の感情が集約されたこの一言に、人間関係の上下を感じて、あぁ世の中生き辛いなと感慨する。
そんな僕。
Docker に構築した Linux 環境で、systemctl が使えない。
使えないから、サービスやデーモンを再起動したりができない。
べつにいいじゃない?
って言われるとそうなんだけど、設定をリロードするのにいちいちコンテナを再起動してて、使えないとめっさ不便。
これを使えるようにしようと調べて設定してコンテナをビルドして起動してってのを繰り返す。
どうにもならなくて、正直お手上げ。
一度構築したらほぼ変更がないコンテナは別にいいんだけど、都度設定ファイルをリロードするコンテナでは本当に不便で不満。
調べると privileged オプションをつけて、cgroup をマウントすればいい。って出てくるんだけど、たぶん、コンテナをアップする前に /sbin/init が動いてないとダメっぽい。
ってのは、OS を起動するのって
BIOS が起動して
ブートローダーを読んで
ブートローダーがカーネルを起動して
カーネルが init プロセスを起動する
っていう流れなんで、この流れの通りに進まないのがこの事象に影響していると思う。ってことは事前に /sbin/init を起動したコンテナをアップする感じにすればいいのか。
ってことは、docker run コマンドで、オプションをつけてコンテナを起動したらいいのかな。というところまでは考察できた。
掲げている使命
好きとスキルを駆使して、心身と経済が豊かな日本社会を創造する
いま、目の前で困っていることがある方のために僕の「好き」と「スキル」がお役にたつかもしれません。
こちら(↓)の自己紹介で僕の得意を書いていますので、お困り事のある方は、コメントをいただけるとありがたいです。
支援のお願い
本記事は無料でお読みいただけますが、投げ銭形式にしているので、気に入ったらご購入いただけると嬉しいです。
また、下記リンクのご支援をいただけると励みになります。