V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
hick
V2EX  ›  Docker

比较纳闷, 大家用 docker 没什么进 container 的需求?分享俩篇文章

  •  
  •   hick · 2014-09-13 20:34:31 +08:00 · 5059 次点击
    这是一个创建于 3485 天前的主题,其中的信息可能已经有所发展或是发生改变。
    常见的 docker 使用基础文章甚至官方的 user guide 也看了一遍, 很少有文章提及怎么进入一个 container , 我之前是理解错误, 以为 run 的时候 -t -i /bin/bash 就可以了, 才发现这样跑的是一个独立的 shell 的container ,如果不独立在 container 里启动 sshd , 就 ssh 不进去。 严格来说还是有很多方法进去, 大家没相关需求么?

    更喜欢这篇:

    How to enter a Docker container https://blog.codecentric.de/en/2014/07/enter-docker-container/

    这篇是官方的 blog , 前面啰嗦了一堆,
    WHY YOU DON'T NEED TO RUN SSHD IN YOUR DOCKER CONTAINERS https://blog.docker.com/2014/06/why-you-dont-need-to-run-sshd-in-docker/
    6 条回复    2014-09-14 10:26:53 +08:00
    janxin
        1
    janxin  
       2014-09-13 21:04:54 +08:00
    如果有这种需求一般是起个bash,用bash去run其他程序....
    chengmin
        2
    chengmin  
       2014-09-13 21:13:18 +08:00
    可以试试搜狐的Paas搜狐云景了,底层基于container的,可以SSH到Container上,这个还比较有吸引力:)正在他们的技术群里要求开更多权限,呵呵
    julyclyde
        3
    julyclyde  
       2014-09-13 21:18:40 +08:00 via iPad
    如果你有这个需求,一般是你错了
    mgcnrx11
        4
    mgcnrx11  
       2014-09-13 21:46:14 +08:00
    官方的博客也说了,只是少数情况需要enter到container里面,一般就是调试时需要吧
    ETiV
        5
    ETiV  
       2014-09-13 23:34:23 +08:00
    你需要换一个 image.

    https://registry.hub.docker.com/u/phusion/baseimage/

    自带了 sshd, 和服务启动器(runit)
    hick
        6
    hick  
    OP
       2014-09-14 10:26:53 +08:00   ❤️ 1
    @mgcnrx11 官方的 blog 的提到用 ssh 就有密码管理升级和安全问题等等,这完全是个伪命题, 典型的技术流思路: 因为实现起来麻烦,所以我不准备提供这个功能。实际上 mysql 和 vagrant 的思路就是值得借鉴的现成例子;完全也可以封装 nsenter 实现类似的功能。 大家认定的不是ssh , 而是进入 container , 实际上最新 docker github 源码似乎已经加入类似功能支持, 通过 exec 子命令大概就能进去了, 还不在发布版本里。

    也许官方设计原意是想建议大家怎么怎么用,有动态数据通通扔到 volumn 里, 但是开源之所以能得以发扬光大,并不是因为其多么优秀的代码软件质量,很重要的一点是因为其开放, 你可以当黑盒去用, 但是有需要---各种可能,不一定就是官方说的几种----你可以当白盒来使用。 想看看正在跑的 container (跟先进 bash 再启动 app 是类似但是是俩码事)里头是啥样的才放心,然后随便捣鼓捣鼓, 这不过分。

    实际上除了类似 VPS 这种很常见的用法, 很多情况可能不想使用者进入 host , 就想限制其在 container 内进行操作, 不是一个 volumn 就是万能的。 思维放开点, 这就相当于纯物理机时代,一般开发拿到的都是非 root 用户, 如果能把用户隔离在 container 里显然更好。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2762 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 12:49 · PVG 20:49 · LAX 05:49 · JFK 08:49
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.