Docker—Dockerfile构建sshd,systemctl,nginx,tomcat镜像
一.Dockerfile构建sshd镜像
创建sshd目录
[root@localhost ~]# mkdir sshd
[root@localhost ~]# cd sshd/
编写Dockerfile文件
[root@localhost sshd]# vim Dockerfile
#基础镜像
FROM centos:7
#描述信息
MAINTATINER The CentOS Project <cloud-centos>
#更新容器的yum源
RUN yum -y update
#部署环境工具
RUN yum -y install openssh* net-tools lsof telnet passwd
#设置登陆密码
RUN echo '123456' | passwd --stdin root
#禁用ssh中pam验证
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
#禁用ssh中pam会话模块
RUN sed -i '/^session\s\+required\s\+pam_loginuid.so/s/^/#/' /etc/pam.d/sshd
#创建ssh工作目录和权限设置
RUN mkdir -p /root/.ssh && chwon root.root /root && chmod 700 /root/.ssh
#开发22服务端口
EXPOSE 22
#容器加载时启动sshd服务
CMD ["/usr/sbin/sshd" , "-D"]
生成镜像:
[root@localhost sshd]# docker build -t sshd:new .(注意后面有个点)
启动容器:
[root@localhost sshd]# docker run -d -P sshd:new
[root@localhost sshd]# docker ps -a
[root@localhost sshd]# ssh localhost -p 32768
输入密码123456