CentOS7 Docker 镜像使用 systemd 服务

Dockerfile

1
2
3
4
5
6
7
8
9
10
11
12
13
FROM centos:7
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"]

Build Command

1
# docker build --rm -t zhanghl/centos7.6.1810 /path/of/Dockerfile

Example Apache Systemd Service To Run

1
2
3
4
# docker run -it -d --privileged -v /sys/fs/cgroup:/sys/fs/cgroup --name centos7 -p 80:80 centos7.6.1810:latest /usr/sbin/init
# docker exec -it centos /bin/bash
docker# yum -y install httpd
docker# systemctl start httpd
-------------本文结束感谢您的阅读-------------
请站长喝杯咖啡吧´◡`