Docker 中 systemctl 命令不好使
1. 问题2. 解决
以 firewalld 为例.
1. 问题
安装完 firewall, 发现 systemctl start firewalld 报错.
yum
install firewalld
报错: System has not been booted with systemd as init system (PID 1). Can’t operate. Failed to connect to bus: Host is down
2. 解决
运行容器时, 添加两个参数: --privileged=true /usr/sbin/init
docker run -d -it --privileged
=true --name centos centos /usr/sbin/init
由于运行是添加了 /usr/sbin/init 参数, 进入容器时用 /bin/bash 即可.
docker
exec -it centos /bin/bash
此时再运行 systemctl start firewalld 便可以成功.