1、我们为什么要进入到容器中?

我们经常需要进到容器里去做一些工作,比如查看日志、调试、启动其他进程等

1、进入容器中的方法是什么?

a、docker attach container_id
ps:可通过 Ctrl+p 然后 Ctrl+q 组合键退出 attach 终端。
b、docker exec -it bash|sh
ps:-it 以交互模式打开 pseudo-TTY,执行 bash,其结果就是打开了一个 bash 终端。
进入到容器中,容器的 hostname 就是其 “短ID”。
可以像在普通 Linux 中一样执行命令。ps -elf 显示了容器启动进程while 以及当前的 bash 进程。
执行 exit 退出容器,回到 docker host。

3、attach和exec的区别是什么?

a、attach 直接进入容器 启动命令的终端,不会启动新的进程。
b、exec 则是在容器中打开新的终端,并且可以启动新的进程。
c、如果想直接在终端中查看启动命令的输出,用 attach;其他情况使用 exec。
ps:如果只是为了查看启动命令的输出,可以使用 docker logs 命令,-f 的作用与 tail -f 类似,能够持续打印输出。