当使用docker安装centos:7镜像或centos:latest后,如果执行systemctl时,会出现以下问题
[root@68903c5fbdeb /]# systemctl stop firewalld.service
Failed to get D-Bus connection: Operation not permitted
这是docker中centos7的bug,官网上也提到了这个问题,Docker的官方CentOS镜像中没有提供systemd服务,并给出了 解决办法,虽然复杂了一点,还是可以处理的。
1、创建systemd的base image
新建一个文件 Dockerfile,这是构建docker镜像时默认读取的文件名称,也可以使用其它文件名,然后在构建时使用 -f 指定文件名即可
vi Dockerfile
输入以下内容
FROM centos:latest
ENV container docker
RUN (cd /lib/systemd/system/sysinit.target.wants/;