SSH Dockerfile
FROM centos:7
MAINTAINER This is centos:ssh
RUN yum update && yum install -y openssh* net-tools lsof telnet passwd
RUN echo "123456" | passwd --stdin root
RUN sed -i 's/UsePAM yes/UsePAM no/g' /etc/ssh/sshd_config
RUN ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
RUN sed -i '/^session\s\+required\s\+pam_loginuid.so/s/^ /#/' /etc/pam.d/sshd
RUN mkdir -p /root/.ssh && chown root.root /root && chmod 700 /root/.ssh
EXPOSE 22
CMD ["/usr/sbin/sshd","-D"]
docker build -t centos:ssh .
docker run -d -P centos:ssh
ssh localhost -p 32768
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/84264b5a735fcd24c4b917068204428a.png)
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/35da8986437d6e4d47c16ce690b0276d.png)
Systemctl Dockerfile
FROM centos:ssh
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"]
docker build -t centos:systemctl .
docker run --privileged -it -v /sys/fs/cgroup:/sys/fs/cgroup:ro centos:systemctl /sbin/init
docker exec -it 606e899db931 bash
systemctl status sshd
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/4acb38e0c79be55f92dd67303a0b204d.png)
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/5548694cd9ca3f8f406c79c591b6f47d.png)