【发布时间】:2014-01-22 19:37:09
【问题描述】:
我有一个在前台运行 Apache 服务的容器。我希望能够从另一个外壳访问容器,以便在其中“四处探查”并检查文件。目前,如果我附加到容器,我只能查看 Apache 守护进程并且无法运行任何命令。
是否可以将另一个 tty 附加到正在运行的容器?也许,我可以利用 Docker 实际上只是包装 LXC 容器这一事实?我已经尝试过sudo lxc-console -n [container-id] -t [1-4],但似乎只有一个 tty 可用,那就是运行 apache 守护程序的那个。也许有办法在构建期间启用多个 lxc 控制台?
如果可能,我宁愿不使用 openssh 服务配置和构建容器。
【问题讨论】:
-
你试过
docker attach [conainer-id]吗? -
@shabbychef 除非 docker attach 已更改,否则 attach 命令附加到正在运行的 tty,而不是新的,因此问题标题是“...with new TTY”。这就是为什么下面的答案不使用附加命令的原因。
-
从 1.3 开始,有一种更简单的方法,如 this answer 所述