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+[

 

                                              有疑問可留言!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM