As explained in the image repository of the centos dock , Systemd is not active by default. To use systemd, you will need to include text similar to the Dockerfile example below:
FROM centos:7 MAINTAINER "you" < your@email.here > ENV container docker RUN (cd /lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i == systemd-tmpfiles-setup.service ] || rm -f $i; done); \ rm -f /lib/systemd/system/multi-user.target.wants/*;\ rm -f /etc/systemd/system/*.wants/*;\ rm -f /lib/systemd/system/local-fs.target.wants/*; \ rm -f /lib/systemd/system/sockets.target.wants/*udev*; \ rm -f /lib/systemd/system/sockets.target.wants/*initctl*; \ rm -f /lib/systemd/system/basic.target.wants/*;\ rm -f /lib/systemd/system/anaconda.target.wants/*; VOLUME [ "/sys/fs/cgroup" ] CMD ["/usr/sbin/init"]
This Docker file deletes several block files that may cause problems. From here you can create a base image.
$ docker build --rm -t local/c7-systemd .
To use the base container with systemd support created above, you will need to change the Docker file to:
FROM local/c7-systemd ENV container docker VOLUME ["/sys/fs/cgroup"] RUN yum -y update RUN yum install -y httpd RUN systemctl start httpd.service ADD . /code WORKDIR /code
source share