@
mgcnrx11 官方的 blog 的提到用 ssh 就有密码管理升级和安全问题等等,这完全是个伪命题, 典型的技术流思路: 因为实现起来麻烦,所以我不准备提供这个功能。实际上 mysql 和 vagrant 的思路就是值得借鉴的现成例子;完全也可以封装 nsenter 实现类似的功能。 大家认定的不是ssh , 而是进入 container , 实际上最新 docker github 源码似乎已经加入类似功能支持, 通过 exec 子命令大概就能进去了, 还不在发布版本里。
也许官方设计原意是想建议大家怎么怎么用,有动态数据通通扔到 volumn 里, 但是开源之所以能得以发扬光大,并不是因为其多么优秀的代码软件质量,很重要的一点是因为其开放, 你可以当黑盒去用, 但是有需要---各种可能,不一定就是官方说的几种----你可以当白盒来使用。 想看看正在跑的 container (跟先进 bash 再启动 app 是类似但是是俩码事)里头是啥样的才放心,然后随便捣鼓捣鼓, 这不过分。
实际上除了类似 VPS 这种很常见的用法, 很多情况可能不想使用者进入 host , 就想限制其在 container 内进行操作, 不是一个 volumn 就是万能的。 思维放开点, 这就相当于纯物理机时代,一般开发拿到的都是非 root 用户, 如果能把用户隔离在 container 里显然更好。