zoukankan      html  css  js  c++  java
  • Centos上Docker 使用dockerfile构建容器实现ssh

    这几日在学习docker、遇到的问题数一年都数不完,网上大多数都是ubuntu的,百度或者谷歌的时候心好累。写写文档来帮助使用centos的docker爱好者们。 

    docker基本操作这里就不介绍了        编写时间为:2015年12月25日17:41:41

    如果你是准备开始学习,或者准备想用ssh实现连接容器这个功能时,请先自己折腾一下。不然达不到学习的目的哦

    ssh -p 32772 root@192.168.0.38
    Read from socket failed: Connection reset by peer
    

    看到这个报错我估计大多数同学都很烦燥,恭喜你,找到了这篇文章

    这里我们直接上dockerfile 

    #syw/centos:ssh
    #
    #by:V
    
    FROM centos:centos6.6              
    MAINTAINER syw "907765003@qq.com"       
    RUN yum -y install openssh-server;yum clean all
    RUN mkdir /var/run/sshd
    RUN ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
    RUN ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key
    RUN /bin/echo 'root:123456'|chpasswd
    RUN /bin/sed -i 's/.*session.*required.*pam_loginuid.so.*/session optional pam_loginuid.so/g' /etc/pam.d/sshd
    RUN /bin/echo -e "LANG="en_US.UTF-8"" > /etc/default/local
    EXPOSE 22
    CMD /usr/sbin/sshd -D
    

     使用build打包成image

    docker build -t syw/centos6:ssh .
    

     这里有时候会因为网络原因,或者一些其他原因导致打包的镜像名称为<none> ,如果出现这个错误就说明 打包的这个镜像是错误的。(也可以注意build过程中的strin)

    如果成功会提示打包成功的哦

    Successfully built 3ea906c5b3a9

    这里我们创建一个容器来实验一下

    docker run -d -P --name endtest syw/centos6:ssh
    

     在查看容器状态,如果没有退出说明试验成功docker ps

    如果容器里面没有持续运行的进程,容器就会退出。 这里我们看到容器暴露的22端口对应宿主机的32769

    所以我们来ssh验证一下

    退出不关闭容器的命令为 ctrl+p+q  这里也顺便记录一下KVM 的为 ctrl+[

                                                  有疑问可留言!

  • 相关阅读:
    DataGridView使用SqlCommandBuilder批量更新数据
    【转】Python中中文处理的问题
    Logging模块的简单使用 Python
    Python 3 collections.defaultdict() 与 dict的使用和区别
    [转]关于Python的super用法研究
    Python 关于 name main的使用
    ClickOnce 我的大爱
    DataGridView控件显示行号的正确代码
    SQL存储过程和事务处理
    指针赋值的问题【转】
  • 原文地址:https://www.cnblogs.com/shiyiwen/p/5076561.html
Copyright © 2011-2022 走看看