Docker 中 systemctl 命令不好使 (以 firewalld 为例)

    技术2022-07-12  89

    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 便可以成功.

    Processed: 0.012, SQL: 9