美文网首页
Docker创建支持SSH服务的镜像(二)

Docker创建支持SSH服务的镜像(二)

作者: CSeroad | 来源:发表于2018-10-29 11:12 被阅读14次

    前言

    根据《Docker技术入门与实战》一书,进行实验操作。 

    在kali(宿主机)上创建支持ssh服务的镜像的第二种方法。

    创建镜像

    使用Dockerfile

    先创建sshd_ubuntu工作目录,在其中创建Dockerfile和run.sh文件。

    编写run.sh脚本和authorized_keys文件

    run.sh文件内容为

    #!/bin/bash

    /usr/sbin/sshd  -D

    准备文件

    同样在宿主机上生成SSH密钥对,并创建authorized_keys文件。

    编写Dockerfile文件

    #设置继承镜像

    FROM ubuntu:14.04

    #作者信息

    MAINTAINER from  csroad

    RUN  apt-get  update

    #安装ssh

    RUN  apt-get   install  -y  openssh-server

    RUN  mkdir  -p  /var/run/sshd

    RUN  mkdir  -p  /root/.ssh

    #取消pam限制

    RUN  sed  -ri  's/session requiredpam_loginuid.so/#session required pam_loginuid.so/g'   /etc/pam.d/sshd

    #复制配置文件到指定位置

    RUN authorized_keys  /root/.ssh/authorized_keys

    ADD  run.sh  /run.sh

    RUN  chmod  755 /run.sh

    #开放端口

    EXPOSE  22

    #设置自启动命令

    CMD  ["/run.sh"]

    Dockerfile

    FROM 继承的镜像

    MAINTAINER 作者

    RUN执行的命令

    ADD拷贝到镜像

    EXPOSE暴露的端口

    CMD指定默认容器主进程的启动命令。

    编写Dockerfile文件就是相当于把手动创建SSH服务的步骤使用命令集合在一起。

    保存镜像

    docker build -t  sshd:dockerfile  . 

    . 表示使用当前目录中的Dockerfile 

    build success

    命令执行成功。

    运行容器

    docker run  -d  -p  10122:22  sshd:dockerfile

    docker  ps

    宿主机尝试进行连接

    ssh  192.168.1.200  -p   10122

    succes

    相关文章

      网友评论

          本文标题:Docker创建支持SSH服务的镜像(二)

          本文链接:https://www.haomeiwen.com/subject/ajbvtqtx.html