海の底のブログ

CentOS6上のDockerにCentOS7を入れたらはまった

前回、さくらVPS上のCentOS6にDockerをインストールしましたが、その際にコンテナイメージをcentos:latestから作ったため、ホストはCentOS6、ゲスト(っていうのか?)はCentOS7という状態になってました。

そのまま、その環境でhttpdやらを入れてたんですが、サービスが起動できずにドはまりしました。

RHEL7系からはサービスの起動がsystemdとsystemctlが採用されておりそのため起動方法が/etc/rc.d/init.d/配下の起動スクリプトじゃなくなってます。

なのでsystemctlコマンドで有効化して起動しようとすると下記のようなエラーが出てしまいます。

terminal
sudo systemctl enable httpd.service
sudo ln -s '/usr/lib/systemd/system/httpd.service' '/etc/systemd/system/multi-user.target.wants/httpd.service'
sudo systemctl start httpd.service
Failed to get D-Bus connection: No connection to service manager.

Google先生で調べるが、よく分からない・・・。ホスト側がsystemdで管理されていないのがまずいぽい?

まあ、そもそもホスト側がCentOS6なのがアカン気がするし、その後の移行作業でも問題が出そうな気がするので元にするイメージをcentos:centos6と指定してコンテナ上もCentOS6になるようにして逃げました。