SSH Daemon Service

注:

这个例子环境是假设你已经运行了docker进程,更多详细信息请查看运行例子,如果你不喜欢sudo,你可以用户授权命令和docker组


官方视频可以官方查看,但是我也做了视频你可以查看中文版的我做的视频


你可以直接获得sshd容器

  1. sudo docker pull dhrp/sshd

密码是screencast

视频讲解内容

  1. # 大家好!我们试着安装sshd并且让它作为一个服务来运行
  2. # 我们需要先用pull获得一个base ubuntu镜像.
  3. $ docker pull ubuntu
  4. # 我下载它非常快(因为视频的在美国)
  5. # 现在我们用-i -t命令来运行镜像的bash
  6. # .
  7. $ docker run -i -t ubuntu /bin/bash
  8. # 好的!我们进来了
  9. # 让我们安装openssh-server
  10. $ apt-get update
  11. $ apt-get install openssh-server
  12. # 好的,让我们看看如何运行它.
  13. $ which sshd
  14. # 我们需要建立授权目录
  15. $ mkdir /var/run/sshd
  16. $ /usr/sbin/sshd
  17. $ exit
  18. # 我们需要提交它
  19. # 我们应该提交哪一个?
  20. $ docker ps -a |more
  21. $ docker commit a30a3a2f2b130749995f5902f079dc6ad31ea0621fac595128ec59c6da07feea dhrp/sshd
  22. # 我给这个容器命名 dhrp/sshd
  23. # 我们可以继续运行
  24. $ docker run -d dhrp/sshd /usr/sbin/sshd -D # D for daemon mode
  25. # 它运行了吗?
  26. $ docker ps
  27. # 是的!
  28. # 让我们停止它
  29. $ docker stop 0ebf7cec294755399d063f4b1627980d4cbff7d999f0bc82b59c300f8536a562
  30. $ docker ps
  31. # 我们重新连接并且指定端口
  32. $ docker run -d -p 22 dhrp/sshd /usr/sbin/sshd -D
  33. $ docker port b2b407cf22cf8e7fa3736fa8852713571074536b1d31def3fdfcd9fa4fd8c8c5 22
  34. # 现在我们可以通过端口连接
  35. # 我们可以使用公共ip来连接
  36. $ hostname
  37. # *ifconfig* 来查看我们的公网ip地址
  38. $ ifconfig
  39. $ ssh root@192.168.33.10 -p 49153
  40. # 哦不好意思我们忘记了设置密码
  41. $ docker commit b2b407cf22cf8e7fa3736fa8852713571074536b1d31def3fdfcd9fa4fd8c8c5 dhrp/sshd
  42. $ docker ps -a
  43. $ docker run -i -t dhrp/sshd /bin/bash
  44. $ passwd
  45. $ exit
  46. $ docker commit 9e863f0ca0af31c8b951048ba87641d67c382d08d655c2e4879c51410e0fedc1 dhrp/sshd
  47. $ docker run -d -p 22 dhrp/sshd /usr/sbin/sshd -D
  48. $ docker port a0aaa9558c90cf5c7782648df904a82365ebacce523e4acc085ac1213bfe2206 22
  49. # *ifconfig* 我们查看公网地址
  50. $ ifconfig
  51. $ ssh root@192.168.33.10 -p 49154
  52. # 谢谢你查看,如果有问题可以发送邮件到 thatcher@dotcloud.com