Dockerfile创建带ssh,vim,netstat功能的debian镜像

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

1.创建一个目录存放生成镜像相关文件

mkdir ssh_dockerfile && cd ssh_dockerfile

2.生成authorized_keys文件

ssh-keygen -t rsa
#按回车选择默认的没有密码。此时,会在生成一个文件~/.ssh/id_rsa.pub
cat ~/.ssh/id_rsa.pub >authorized_keys

3.编写Dockerfile

FROM debian:jessie

MAINTAINER 杨松

#更新apt-get源 使用sohu的源
RUN mv /etc/apt/sources.list /etc/apt/sources.list.bak && \
        echo "deb http://mirrors.163.com/debian/ jessie main non-free contrib" >/etc/apt/sources.list && \
        echo "deb http://mirrors.163.com/debian/ jessie-proposed-updates main non-free contrib" >>/etc/apt/sources.list && \
        echo "deb-src http://mirrors.163.com/debian/ jessie main non-free contrib" >>/etc/apt/sources.list && \
        echo "deb-src http://mirrors.163.com/debian/ jessie-proposed-updates main non-free contrib" >>/etc/apt/sources.list

#安装SSH服务
RUN apt-get update && apt-get install -y openssh-server net-tools vim &&\ 
    mkdir -p /var/run/sshd &&\ 
    mkdir -p /root/.ssh

#取消pam登录限制
RUN sed -i 's/session    required     pam_loginuid.so/#session    required     pam_loginuid.so/g' /etc/pam.d/sshd

#添加认证文件和启动脚本
ADD authorized_keys /root/.ssh/authorized_keys
RUN echo "#!/bin/bash" > /root/run.sh &&\ 
    echo "/usr/sbin/sshd -D" >> /root/run.sh &&\ 
    chmod u+x /root/run.sh

#导出端口
EXPOSE 22

CMD ["/root/run.sh"]


转载于:https://my.oschina.net/skymozn/blog/537854

你可能感兴趣的:(Dockerfile创建带ssh,vim,netstat功能的debian镜像)