CentOS6上のDockerにCentOS7を入れたらはまった
ツール
前回、さくらVPS上のCentOS6にDockerをインストールしましたが、その際にコンテナイメージをcentos:latest
から作ったため、ホストはCentOS6、ゲスト(っていうのか?)はCentOS7という状態になってました。
そのまま、その環境でhttpdやらを入れてたんですが、サービスが起動できずにドはまりしました。
RHEL7系からはサービスの起動がsystemdとsystemctlが採用されておりそのため起動方法が/etc/rc.d/init.d/配下の起動スクリプトじゃなくなってます。
なのでsystemctl
コマンドで有効化して起動しようとすると下記のようなエラーが出てしまいます。
bash-4.2# systemctl enable httpd.service
ln -s '/usr/lib/systemd/system/httpd.service' '/etc/systemd/system/multi-user.target.wants/httpd.service'
bash-4.2# systemctl start httpd.service
Failed to get D-Bus connection: No connection to service manager.
Google先生で調べるが、よく分からない・・・。ホスト側がsystemdで管理されていないのがまずいぽい?
まあ、そもそもホスト側がCentOS6なのがアカン気がするし、その後の移行作業でも問題が出そうな気がするので元にするイメージをcentos:centos6
と指定してコンテナ上もCentOS6になるようにして逃げました。