小编典典

如何进入已经使用新 TTY 运行的 Docker 容器

all

我有一个在前台运行 Apache 服务的容器。我希望能够从另一个外壳访问容器,以便在其中“四处寻找”并检查文件。目前,如果我附加到容器,我只能看着
Apache 守护进程,无法运行任何命令。

是否可以将另一个 tty 附加到正在运行的容器?也许,我可以利用 Docker 实际上只是包装 LXC 容器这一事实?我已经尝试过sudo lxc- console -n [container-id] -t [1-4],但似乎只有一个 tty 可用,那就是运行 apache
守护程序的那个。也许有一种方法可以在构建期间启用多个 lxc 控制台?

如果可能,我宁愿 使用 openssh 服务配置和构建容器。


阅读 177

收藏
2022-03-04

共1个答案

小编典典

在 docker 1.3 中,有一个新命令docker exec。这允许您进入正在运行的容器:

docker exec -it [container-id] bash

注意: 这假设bash已安装在您的容器上。您可以运行sh或在容器上安装任何交互式 shell。

2022-03-04