您的位置:首页 > 运维架构 > Docker

Centos上Docker 使用dockerfile构建容器实现ssh

2015-12-25 17:41 549 查看
这几日在学习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+[

                                              有疑问可留言!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: